我有一个包含许多行的文本文件,如下所示:
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"