我有一个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