我有一个包含制表符分隔文本的文件,我正在努力将它们格式化为特定数量的列,然后插入一个新行。例如,让我们说我的文件,如图所示:
AAAA BBBB CCCC DDDD WWWW XXXX YYYY ZZZZ
我要打印2列,然后插入新行。理想情况下,输出应如下所示:
AAAA BBBB CCCC DDDD
WWWW XXXX YYYY ZZZZ
我尝试了xargs
方式(如下),但无济于事:
$ xargs -d"\t" -n2 < file
AAAA BBBB CCCC DDDD
WWWW XXXX YYYY ZZZZ
我想保留制表符分隔的格式,上面的错误是它基本上摆脱了我想要保留的标签。
答案 0 :(得分:1)
编写一个shell脚本,如下所示:
#!/bin/bash
sed 's/\([^TAB]\+TAB[^TAB]\+TAB\)/\1\
/g' < text
键入Tab键,显示TAB而不是字面输入。
如果您熟悉Perl,可以更容易地说:
perl -pe 's/([^\t]+\t[^\t]+)\t/$1\n/g;' < text