특정 확장명(.pvc)을 가진 파일에서 몇 가지 특정 줄을 가져오려고 합니다. 이러한 파일은 다른 디렉터리에 저장됩니다. 그런 다음 모든 줄을 txt 파일에 넣고 싶습니다.
예를 들어.
directory1/file_a.pvc
directory2/file_b.pvc
.
.
directory100/file_x.pvc
다음 루프를 사용하려고 하는데 for
작동하지 않습니다.
for i in {1..5}
do
echo $i
cd /home/directory"$i"
grep -e L1 -e L2 /*.pvc > /home/all_lines.txt
done
답변1
요청에 따라 답변 게시:
grep -h 'L1|L2' ~/directory{1..5}/*.pvc >~/all_lines.txt
-h
grep
파일 이름을 인쇄하지 않도록 지시하고 행 sum 을 L1|L2
검색하고 , ..., 로 확장합니다 .L1
L2
directory{1..5}
directory1
directory5
답변2
모두 특정 디렉터리(father_directory) 내의 하위 디렉터리입니까?
당신은 시도 할 수 있습니다:
find /father_directory -iname '*pvc' -exec grep -e L1 -e L2 {} \; > /home/all_lines.txt
또는 @Philippos가 제안한 대로(감사합니다):
grep -r /father_directory -e L1 -e L2 --include "*.pvc" > /home/all_lines.txt