2
파일 목록이 들어있는 파일이 있고 각 파일에 대해 두 가지 명령을 수행하려고합니다. files.txt의bash (xargs?)의 파일 목록에서 여러 명령을 수행하는 방법
내용 :
file1
file2
file3
내가 각 파일에 수행 할 명령은 ls -s
및 du
(예를 들어).
내가 출력은 다음과 같이 끝나게 할 : 공정 대체를 사용하여,
<ls size> <du size> file1
<ls size> <du size> file2
<ls size> <du size> file3
내가 떠들썩한 파티 스크립트를 사용하여이 작업을 수행하는 방법을 알고 있지만 쉽게 한 줄에이 작업을 수행 할 수있는 방법이 나 어떤 것?
는 내가 같은 것을 할 수 있다고 생각하지만, 그것은 작동하지 않았다 이러한 오류를 내놓았다cat files.txt | tr '\n' '\0' | xargs -0 -I{} cat <(du {}) <(ls -s {})
:
du: cannot access `{}': No such file or directory
ls: cannot access {}: No such file or directory
이 할 수있는 방법이 있나요?
감사합니다! 좋아요, 나의 후속 질문은''du'를 측정 된 크기의 접두사 만 접두사로 사용하고 싶습니다. 일반적인 방법은'du | 컷 -f1 | tr --delete '\ n''하지만,'sh '명령은 작은 따옴표를 사용하여 인용하기 때문에 작은 따옴표를 사용할 수 없습니다. 그 모든 것을 '뒤'부분으로 대체 할 방법이 있습니까? –
localhost
큰 따옴표로 인용 할 수 있습니다. – janos