sed:替换单个列中的值

时间:2016-04-14 11:54:48

标签: replace sed

我想替换一个值(让我们说" 25"" Z"所有出现),就像这个sed命令一样:

sed 's/25/Z/g' 

但仅限于文件的第一列(因此不应替换其他列中的任何" 25")。这可能与sed有关,还是我需要别的东西?

2 个答案:

答案 0 :(得分:1)

我建议使用awk。将列用空格分隔后,命令将如下所示:

awk '{sub(/25/, "Z", $1)}1' input.file

如果25可能会在第一列中多次出现,而您想要替换所有gsub,请使用sub代替AuthorizeAttribute

答案 1 :(得分:0)

检查一下:

echo "25 25 25 25 25" |perl -lane '$F[1]=~s/25/Z/g;print "@F"'
25 Z 25 25 25