在这里,我希望得到您对文本文件修改的帮助。
我想修改文件中的文本(数百万列,制表符分隔)- 删除除第一个制表符之外的所有制表符并在最后一列后面添加新列。
文件(这里有 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 < input > output
其中 script.awk
包含:
{
old=$1;
$0 = substr($0, length($1)+1);
gsub(/[[:space:]]*/, "", $0);
print old, $0, old, "x", "y";
}
查看现场演示 here (谢谢你 belisarius 给我看这个网站)
关于linux - 修改文件中的文本(百万列,制表符分隔)- 删除除第一个选项卡之外的所有选项卡并在最后一列后面添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6355349/