파일의 첫 번째 줄이 myWord
과 같도록 현재 디렉토리에서 파일 이름을 가져 오려고합니다. 나는 find . -type f
명령을 -exec
옵션과 결합하여 head -1 filename
과 결합하고 싶지만 아무 소용이 없습니다. 이 문제에 대한 영리하고 단선이있는 해결책이 있습니까?올바른 머리글이있는 파일 이름을 인쇄하십시오.
1
A
답변
2
당신은 awk
와 find
를 사용할 수 있습니다
find . -maxdepth 1 -type f -exec awk '/myWord/{print FILENAME} {nextfile}' {} +
awk 명령은 단어 myWord
각 파일의 첫 번째 행을 검색합니다 후 그 파일 이름을 인쇄합니다.
또는 gnu sed
를 사용하여 : @chepner과이 답변 아래에 매우 도움 의견 (123) @
find . -type f -exec sed '/myWord/F;Q' {} \;
많은 감사합니다.
bash의 파이프를 사용하여 – bigbounty