我有一个shell脚本:
a ab.mi
3 jm.mi
56 uh.mi
我想从第二列删除.mi并将其设为:
a ab
3 jm
56 uh
如何使用shell脚本执行此操作?
答案 0 :(得分:2)
使用awk
:
awk 'gsub("\.mi", "", $2)1' inputfile
这将从第二列中删除.mi
。
答案 1 :(得分:1)
如果你真的只想删除字符串.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
答案 2 :(得分:1)
Perl One-Liner:
perl -pe -i.bak 's/\.mi$//i' file