저는이 사이트 (및 프로그래밍에 익숙하지 않은)를 처음 사용하고 있지만 도움이되기를 바랍니다.여러 디렉토리를 입력하고 명령을 실행하기위한 명령 줄 bash
나는 3K, 4K, 5K 등으로 이름 지어진 수많은 디렉토리가 있습니다. 각 디렉토리에는 v1에서 v12까지 12 개의 서브 디렉토리가 있으며 각 디렉토리에는 OUTCAR이라는 파일이 있습니다. 나는 각각의 서브 디렉토리에 들어가서 OUTCAR로부터 데이터를 수집 할 수있게 해주는 bash 명령어를 작성하려고한다.
각 하위 디렉토리를 개별적으로 입력하면이 기능이 아무런 문제없이 작동합니다. 나는 V {1..12}에서 파일을
을 사용하고
; grep "key_string"OUTCAR | awk '{print (relevant_stuff)}'> output.dat; done
v {1..12} 서브 디렉토리가있는 * K 벌금에서.
그러나 OUTCAR이 각 v {1..12}에 존재하지 않는다는 오류가 표시됩니다. 나는 그것을 알기 때문에 명령을 제대로 수행하지 않았다고 추측하고있다. 각 명령은 cd 명령을 사용하여 각 하위 디렉토리로 이동한다. 어떤 팁?
감사합니다.
모든 출력 파일 output.dat 하나에 이동해야하거나 옆에 output.dat 파일을 원하십니까 각 OUTCAR 파일? 전반적으로 "find -name OUTCAR"와 같은 검색 명령을 사용하고 xargs를 통해 grepping/awking을하거나 "while read"루프로 결과를 반복하는 것이 더 쉽습니다. –
각 OUTCAR에 대해 별도의 output.dat 파일을 생성하고 각 v1에서 v12 하위 디렉토리로 인쇄하려고합니다. – LRB83