파일의 내용을 에코하기 위해 쉘 스크립트를 만들려고합니다. 파일의 위치를 알 수 없습니다. 내 파일이 나는 그것이 GREP와 경로의 검색하려고 그렇게 알 수없는 하위 폴더에있을 수있는 곳쉘 스크립트가 파일을 검색 한 다음 파일의 내용을 에코합니다.
$echo | ls /* | grep file.xml
:
나는이 같은 될 것이라고 생각했다.올바른 구문에 대한 도움을 주시면 매우 감사하겠습니다.
파일의 내용을 에코하기 위해 쉘 스크립트를 만들려고합니다. 파일의 위치를 알 수 없습니다. 내 파일이 나는 그것이 GREP와 경로의 검색하려고 그렇게 알 수없는 하위 폴더에있을 수있는 곳쉘 스크립트가 파일을 검색 한 다음 파일의 내용을 에코합니다.
$echo | ls /* | grep file.xml
:
나는이 같은 될 것이라고 생각했다.올바른 구문에 대한 도움을 주시면 매우 감사하겠습니다.
당신은 find
를 사용할 수 있습니다
find/-name file.xml -exec cat '{}' ';'
/
이 /
와 그 하위 디렉토리에서보고 말한다; -name file.xml
은 file.xml
이라는 파일을 찾는다 고 말합니다. -exec cat '{}' ';'
이 실행되도록 말하면, 예를 들어 내용을 인쇄하는 각 파일에 대해 cat /path/to/file.xml
입니다.
나는 고양이 파일을 원한다고 생각합니다. 일치하는 항목이 여러 개있는 경우 모든 파일이 인쇄됩니다. 권한이 충분하지 않은 경우 필터링해야하는 권한 오류가 발생할 수 있습니다. 이를 방지하려면 권한이있는 디렉토리에서만 실행하고, 확대 된 권한으로 실행하거나 grep을 사용하여 제거하십시오. 시도 :
cat `find/-name file.xml`
이 시도 :
grep -lr "alice in wonderland" *
이 텍스트 alice in wonderland
를 포함하는 모든 파일을 나열합니다. 각의 내용을 표시하려면 다음을 수행
grep -lr "alice in wonderland" *|while read filename; do
echo ---- Contents of: "$filename"
cat "$filename"
done
Re : "또는 grep을 사용하여 제거하십시오": 권한 오류 메시지는 표준 오류로 진행되므로, 어떤 식 으로든'grep'을 쓰는 대신 논리적 인 방법으로'2>/dev/null'. 또한'file.xml'의 경로에 공백, 물음표 또는 별표가 포함되어 있으면 명령이 잘못 될 것입니다. – ruakh