.txt 파일의 줄을 사용하여 파일을 만드는 방법은 무엇입니까?

.txt 파일의 줄을 사용하여 파일을 만드는 방법은 무엇입니까?

예를 들어 fileNames.txt라는 파일이 있습니다. cat >fileNames반품

abet

able

abacus

파일 이름을 사용하여 abet,able 및 abacus를 .txt 파일로 만드는 방법은 무엇입니까? 고양이와 터치로 파이프를 사용해 보았습니다.

답변1

이를 수행하는 방법에는 다음을 포함하여 여러 가지가 있습니다(GNU 가정 xargs).

sed -e '/^[[:space:]]*$/d' -e 's/$/.txt/' fileNames.txt | xargs -rd '\n' touch --

fileNames.txt의 각 줄에는 파일 이름이 하나만 있다고 가정합니다. 스크립트 sed는 빈 줄을 제거하고(@rubynorails에게 감사드립니다) 각 파일 이름 끝에 ".txt"를 추가한 후 .txt로 연결합니다 xargs touch.

이는 사용하여-d '\n'xargs(공백 대신 구분 기호로 줄 바꿈 또는 '\n'만 사용하고 따옴표 처리를 비활성화하도록 지시하는 GNU 확장) 이름(줄 바꿈 문자 제외)과 함께 옵션을 ). 예를 들어, 행에 "abetable"이 포함되어 있고 포함되어 있지 않으면 두 개의 파일이 생성됩니다( 및 ). 이를 사용하면 하나의 파일만 생성됩니다.xargs\n-d '\n'abetable.txtabet able.txt

답변2

읽기 명령을 사용하여 while 루프에서 입력 리디렉션을 사용할 수 있습니다.

while read line; do
    touch "${line}.txt"
done < fileNames.txt

답변3

awk 'NF>0' fileNames.txt | while read line; do touch "${line}.txt"; done

awk명령은 빈 줄만 제거합니다.

내가 아는 한, 그 줄은 문자 그대로이므로 그 줄에 있는 모든 내용이 파일 이름에 기록됩니다.

관련 정보