텍스트 파일에 있는 목록에서 파일 읽기

텍스트 파일에 있는 목록에서 파일 읽기

다음과 같은 샘플 파일 s1.txt가 있습니다.

  Sample.log.54
  Sample.log.56
  Sample.log.57
  Sample.log.58
  Sample.log.59
  Sample.log.110
  Sample.log.113
  Sample.log.114
  Sample.log.115
  Sample.log.116
  Sample.log.117
  Sample.log.118
  Sample.log.119
  Sample.log.120
  Sample.log.121
  Sample.log.122
  Sample.log.112
  Sample.log.123
  Sample.log.124
  Sample.log.140

이 폴더에는 다른 파일도 많이 있습니다. 하지만 s1.txt에 나열된 파일에서 특정 문자열을 grep해야 합니다. 폴더에 있는 모든 파일을 읽어서는 안 됩니다.

답변1

grep이 필요한 경우부자파일에서 bash를 사용하면 다음을 사용할 수 있습니다.

grep foo $(cat s1.txt)

답변2

각 줄이 s1.txt파일 이름을 나타내고 파일 이름에 이상한 문자가 없는 경우:

<s1.txt xargs -d '\n' grep string

답변3

이 질문은 Stack Overflow([https://stackoverflow.com/questions/14655717/grepping-from-a-text-file-list][1]).

xargs grep "your pattern" < my-file-list.txt

답변4

이것은 작동합니다:

for i in `cat s1.txt`; do cat $i | grep "your-string-to-search"; done

관련 정보