如何修剪文件中的字符串

时间:2017-06-26 22:25:19

标签: shell awk sed

我有一个这样的文件:

10.123.214.214:445
124.4235.123:443
124.34352.124.1:80
2142354.1341:80
12435.12412:70

有没有办法可以在之前打印所有内容?我认为awk或sed会是最好的方式,但我不确定如何提出正确的命令

预期产出:

10.123.214.214
124.4235.123
124.34352.124.1
2142354.1341
12435.12412

4 个答案:

答案 0 :(得分:3)

$ cut -d: -f1 file
10.123.214.214
124.4235.123
124.34352.124.1
2142354.1341
12435.12412

这是cut存在的唯一事情 - 不要带走它的存在理由: - )。

答案 1 :(得分:1)

在AWK中,如下:

BEGIN { FS=":" } 
{ print $1 }

这使冒号成为Field Separator,所以第一个单词($ 1)就是该行第一个冒号之前的所有内容。

答案 2 :(得分:1)

另一个awk提案。

awk -F: '{print $1}' file

10.123.214.214
124.4235.123
124.34352.124.1
2142354.1341
12435.12412

答案 3 :(得分:0)

为了完整起见,这是sed等效于保留:分隔文件的第一列:

sed 's/:.*//g' file1