awk — 复制一列并修改其文本

awk — 复制一列并修改其文本
awk {'printf ("%5s\t%s\n", $0, $NF)'} test_VN.txt

用于复制文本文件中的列,但是,如何在复制列的扩展名_VN之前添加?.jpeg

例如我想要这样的输出:

21_48.jpeg  21_48_VN.jpeg
24_48.jpeg  24_48_VN.jpeg
25_48.jpeg  25_48_VN.jpeg

我想从只有一列的 test_VN.txt 中读取第一列,并将其保存到具有两列的 test_VN_2.txt 中。

*是的,我的目的是用制表符分隔两列。

答案1

使用

gsub(/\.jpeg/, "_VN.jpeg", <your string>)

用于子字符串替换。因此你需要

awk '{ f=$1 ; gsub(/\.jpeg/, "_VN.jpeg", f) ; printf ("%5s\t%s\n", $1, f) }' test_VN.txt > test_VN_2.txt

您或许sub也使用过。

相关内容