如何拆分文件中的行,并使输出名称基于这些行

时间:2014-12-18 17:43:14

标签: file split centos

我正在使用CentOS。我有一个包含以下信息的文件:

100000,UniqueName1
100000,UniqueName2
100000,UniqueName4
100000,SoloName9

我想把它拆分成文件,每行一个,每个都命名为:

[secondvalue]_file.txt

举个例子:

SoloName9_file.txt

是否可以使用命令以这种方式拆分文件,还是需要编写shell脚本?如果是前者,命令是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

这是一种方法。使用sed命令将此文件转换为可以执行的有效shell脚本。

sed -e 's/^/echo /g' -e 's/,/ >/g' -e 's/$/_file.txt/g' <your.textfile >your.sh
chmod +x your.sh
./your.sh

请注意,文件中的尾随空格会需要额外的工作。

将其写入shell脚本文件可让您查看它,但您也可以将其作为单行执行。

sed -e 's/^/echo /g' -e 's/,/ >/g' -e 's/$/_file.txt/g' <your.textfile | sh