在这里,我想帮助您修改文本文件.
我想修改文件中的文本(数百万列,制表符分隔) – 删除除第一个之外的所有选项卡,并在最后一列后面添加新列.
>文件(这里有4列,但是
我的真实文件中有数百万列,
制表符分隔)我现在有:
day1 1 3 7
day7 2 4 8
day3 2 5 6
>我想要的文件,删除分隔符
(从第二个),并添加三个
新列(一列与
第一个,另外两个相同
所有相同列中的值,此处为x
和y).
day1 137 day1 x y
day7 248 day7 x y
day3 256 day3 x y
我打算用awk和sed混合使用.但是,我尝试了许多不同的方法,我仍然不知道如何做到这一点.
你能帮我一下吗?提前致谢.
最好,
解决方法:
使用gawk -f script.awk script.awk包含的输出:
{
old=$1;
$0 = substr($0, length($1)+1);
gsub(/[[:space:]]*/, "", $0);
print old, $0, old, "x", "y";
}
观看现场演示here(感谢belisarius给我看这个网站)
标签:linux,awk,perl,sed,unix
来源: https://codeday.me/bug/20190903/1796560.html