我有一个shell脚本:
a ab.mi
3 jm.mi
56 uh.mi
我想从第二列中删除 .mi 并使其如下所示:
a ab
3 jm
56 uh
如何使用 shell 脚本执行此操作?
使用awk:
awk 'gsub("\.mi", "", $2)1' inputfile
这将从.mi第二列中删除。
如果你真的只是想删除字符串,.mi那么一个简单的sed替换就可以了:
$ sed 's/[.]mi//' file
a ab
3 jm
56 uh
如果你真的想限制到第二列awk是更好的选择,但sed你可以这样做:
$ sed -r 's/(\S+\s+\S+)[.]mi/\1/' file
a ab
3 jm
56 uh
Perl 单行:
perl -pe -i.bak 's/\.mi$//i' file