我有一个 WINDOWS 文本文件,在其自己的目录中包含以下内容: 它称为“test.txt”
示例源文件 - test.txt:
hxxp://url.xxx/XX/file 1.txt
hxxp://url.xxx/XX/file 2.avi
hxxp://url.xxx/XX/file 3.mpg
第一个文件的内容是:
hxxp://url.xxx/file 1.txt
该文件的名称为:
file 1.txt
我的目标是创建包含每个 URL 并以 URL 的“文件”部分命名的单独文本文件。因此第一个是“文件 1.txt.txt”,然后是“文件 2.avi.avi”,依此类推。除了命名实际文件之外,Split 完美地做到了这一点。
答案1
这很容易在 中完成awk
。您只需将字段分隔符设置为/
,然后将每一行打印到名称为最后一个字段的文件中。由于 中 的字段数awk
保存在NF
变量中,因此您可以使用 获取最后一个字段$NF
。然后,如果您希望所有这些都具有 txt 扩展名,您只需要:
awk -F'/' '{print > $NF".txt"}' file
如果(根据您的评论似乎是这种情况),您的输入文件具有 Windows 行结尾,则需要删除第一个\r
:
sed 's/\r//' file | awk -F'/' '{print > $NF".txt"}'