在文件第一列之前添加字符串的脚本

在文件第一列之前添加字符串的脚本

我有以下文件:

ID      firstname        lastname
1       John             Wilkens
2       Andrea           Smith

我想在 ID 字段中的数字之前为文件中的每一行添加以下字符串:“del_”,因此输出将如下所示:

ID          firstname        lastname
del_1       John             Wilkens
del_2       Andrea           Smith

我怎样才能实现这个目标?

答案1

使用标准sed做同样的操作:

sed '2,$ s/^/del_/' file

这会将替换 ( s///) 应用于第二行和文件末尾之间的所有行(包括范围2,$)。替换只是将字符串插入del_到每个寻址行的开头。

答案2

awk '{print (NR>1 ? "del_" : "") $0}' file

答案3

使用perl

perl -lpe '$_ = "del_" . $_ if $. > 1' data

答案4

另一种awk变体:

awk 'NR>1{ sub(//, "del_") }1' infile

相关内容