0

我有一个shell脚本:

a ab.mi
3 jm.mi
56 uh.mi

我想从第二列中删除 .mi 并使其如下所示:

a ab
3 jm
56 uh

如何使用 shell 脚本执行此操作?

4

3 回答 3

2

使用awk

awk 'gsub("\.mi", "", $2)1' inputfile

这将从.mi第二列中删除。

于 2013-09-23T06:06:50.480 回答
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
于 2013-09-23T08:56:40.497 回答
1

Perl 单行:

perl -pe -i.bak 's/\.mi$//i' file
于 2013-09-23T09:09:51.017 回答