我使用bash脚本。我有行
3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
我希望从这一行得到“22,80”。任何人都可以帮助我吗?
答案 0 :(得分:1)
由于20和80之前的分隔符为:
,因此您可以主要使用cut
进行分隔:
$ cut -d: -f2 file
22
80
使用bash
:
$ while read line
do
echo ${line#*:}
done < file
22
80
即使使用awk
:
$ awk -F: '{print $2}' file
22
80
并使用sed
完成它:
$ sed 's/.*://' file
22
80
答案 1 :(得分:0)
awk 'BEGIN{FS=":"} {print $2}' file