次のような行が多いテキストファイルがあります。
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"