私にはロープがあります。
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'
ただし、Costasのコメントにあるコードは、要求に直接応答します。
答え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:~#