在Linux中使用单词分隔符拆分和重命名文件

时间:2018-03-12 11:50:38

标签: linux unix awk command-line

我有一个文件如下

文件名split.txt

file part alpha
abc
def
hij
file part beta
klm
nop
file part charlie
qrs
tuv
wxy
zzz

文件需要在“文件部分”行上分隔,并根据文件部分行中的最后一个字重命名。即分裂后,我应该有三个文件如下:

文件1 - 文件名是alpha.txt

abc
def
hij

文件2 - 文件名是beta.txt

klm
nop

文件3 - 文件名是charlie.txt

qrs
tuv
wxy
zzz

到目前为止,我已设法使用以下命令分割文件

awk '/file part/{n++}{print >"file" n ".txt"}' split.txt

这导致文件名为file1.txt,file2.txt和file3.txt。

如何将文件名设为alpha.txt,beta.txt和charlie.txt?

1 个答案:

答案 0 :(得分:4)

这个单行应该有所帮助:

{{1}}

这个想法与您的代码相同,只需将行中的最后一个单词的序号更改为文件名。