есть специальный heredoc синтаксис, который удаляет счета в начале всех линий: «
http://пример tldp.org/LDP/abs/html/here-docs.html
19-4. Многострочное сообщение с подавленными вкладками
Его можно использовать следующим образом:
v="$(cat <<-EOF
A
B
C
EOF
)"
echo "$v"
Результат:
A
B
C
Он работает только с вкладками, а не местами.
Вы можете сделать это так:
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:~#
Я бы разделил линию на точках и удалил последние 4 поля
awk -F. -v OFS=. '{NF-=4}1'
, но код Костас в его комментарии больше напрямую отвечает требованиям.