텍스트 파일의 각 줄을 새 파일에 쓰고 내용에 따라 이름을 지정하는 방법은 무엇입니까?

텍스트 파일의 각 줄을 새 파일에 쓰고 내용에 따라 이름을 지정하는 방법은 무엇입니까?

다음과 같은 줄이 많은 텍스트 파일이 있습니다.

Smith: ''Handbook of Everything.'' Fantasy Press, 2000.
Wilson: ''Unix for Dummies.'' Wiley, 1993.

각 줄을 새 파일에 쓰고 싶습니다. 새 파일에는 전체 줄이 포함되어야 하며 포함된 줄과 이름이 같아야 합니다.

Smith: ''Handbook of Everything.'' Fantasy Press, 2000.txt
Wilson: ''Unix for Dummies.'' Wiley, 1993.txt

이 목표를 어떻게 달성할 수 있나요? 감사해요.

답변1

사용 awk:

awk '{ fname=$0 "txt"; print > fname; close(fname) }' file

답변2

텍스트 파일을 호출하는 경우 textfile다음을 수행해야 합니다.

while read -r x
do
    echo "$x" > "${x}txt"
done < textfile

답변3

아래와 같이 bash 스크립트를 만들 수 있습니다. /tmp/textFile.txt텍스트 파일의 절대 경로로 바꿉니다 .

#!/bin/bash
file=/tmp/textFile.txt
while IFS= read -r line
do
        printf "%s\n" "$line" > /tmp/"$line"txt
done < "$file"

관련 정보