50개의 폴더 목록이 있습니다. 각 폴더에는 키워드가 포함된 텍스트 파일이 있으며 파일의 이름은 모든 폴더에서 동일하지만 값은 다릅니다. 스크립트는 어떻게 이러한 텍스트 파일의 특정 키워드를 읽고 이러한 결과를 새 파일에 저장(수집)할 수 있습니까?
folder A
text.file (inside it key words let us say Abc=1 Def=2 Ghi=3 )
folder b
text.file(inside it key words let us say Abc=5 Def=1 Ghi=4 )
folder c
text.file(inside it key words let us say Abc=11 Def=12 Ghi=32 )
folder d
text.file(inside it key words let us say Abc=11 Def=27 Ghi=34 )
folder e
text.file(inside it key words let us say Abc=16 Def=12 Ghi=22 )
folder f
text.file(inside it key words let us say Abc=3 Def=2 Ghi=1)
.
.
.
.
folder N
텍스트 파일의 키워드는 다음과 같이 정렬됩니다. (50 폴더에 포함된 모든 파일의 키워드는 동일한 방식으로 정렬됩니다.)
Abc= value
Def= value
Ghi= value
예: 텍스트 파일에는 "Abc"만 포함되어 있으므로 모든 파일에서 키워드 "Abc"를 읽고 출력을 저장하는 스크립트가 필요합니다(즉, 새 파일에서 키워드 "Abc"의 값을 개별적으로 수집합니다). 모든 폴더에서 값은 다음과 같습니다.
Abc=1
Abc=5
Abc=11
Abc=11
Abc=16
Abc=3
답변1
모든 키워드가 text.file에 다음과 같이 정렬되어 있는 경우(그리고 키워드의 순서는 50 폴더에 포함된 모든 파일에서 동일함)
Abc= value
Def= value
Ghi= value
head -n 1 filename
그런 다음 첫 번째 줄을 for 루프로 읽고 다음과 같이 새 파일에 쓸 수 있습니다 .
$ for file in ~/Parent_dir/Folder*/*; do head -n 1 $file; done
Abc=1
Abc=5
Abc=11
Abc=11
Abc=16
Abc=3
스크립트는 다음과 같습니다.
for file in ~/Parent_dir/Folder*/*; do
head -n 1 $file;
done > newfile