문서의 특정 키워드를 읽는 스크립트

문서의 특정 키워드를 읽는 스크립트

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

관련 정보