将位于两个字符之间的文件内容分成单独的文件

时间:2013-08-16 03:06:37

标签: linux unix

我有一个file.txt,其中各种数字用括号分隔:

[133,406,789] [126,234,645] 

我想将括号内的所有数字解析为单独的文件:

file1.txt:
    [133,406,789]
file2.txt:
    [126,234,645]
...
...
file50.txt: [174,874,99,21,34]

我试过使用这个命令:

cat file.txt | sed s/[/\\n/g

这就是我得到的:

sed: -e expression #1, char 8: unterminated `s' command

1 个答案:

答案 0 :(得分:0)

如果你可以保证方括号之间有空格,那么

awk '{n=split($0, tmp, /[[:space:]]+/); for (i=1; i<=n; i++) print tmp[i] > "file_" fno++;}'

会做到的。否则,你需要让你的正则表达更聪明一些。或者,您可以查看'csplit'hell命令。