我有那些绳子
gcc-4.8.3-1.aix7.1.ppc.rpm
gcc-c++-4.8.3-1.aix7.1.ppc.rpm
gcc-cpp-4.8.3-1.aix7.1.ppc.rpm
gcc-gfortran-4.8.3-1.aix7.1.ppc.rpm
libgcc-4.8.3-1.aix7.1.ppc.rpm
我想从“.aix7.1”开始剪切到结束以获得
gcc-4.8.3-1
gcc-c++-4.8.3-1
gcc-gfortran-4.8.3-1
libgcc-4.8.3-1
请问,如何用 awk 做到这一点?
答案1
我会将线分割成点并删除最后 4 个字段
awk -F. -v OFS=. '{NF-=4}1'
但科斯塔斯评论中的代码更直接地回答了要求。
答案2
你可以这样做:
root@localhost:~# cat test
gcc-4.8.3-1.aix7.1.ppc.rpm
gcc-c++-4.8.3-1.aix7.1.ppc.rpm
gcc-cpp-4.8.3-1.aix7.1.ppc.rpm
gcc-gfortran-4.8.3-1.aix7.1.ppc.rpm
libgcc-4.8.3-1.aix7.1.ppc.rpm
root@localhost:~# awk 'BEGIN{FS=".aix7.1"} {print $1}' test
gcc-4.8.3-1
gcc-c++-4.8.3-1
gcc-cpp-4.8.3-1
gcc-gfortran-4.8.3-1
libgcc-4.8.3-1
root@localhost:~#