чтобы использовать AWK, чтобы отрезать первые и последние поля:
awk '{$1 = ""; $NF = ""; print}' inputfile
К сожалению, оставляет разделители полей, так
aaa bbb ccc
становится
[space]bbb[space]
Чтобы сделать это, используя ответ Карого, который не оставит лишние пробела, но в некотором смысле это в соответствии с вашими требованиями:
awk '{delim = ""; for (i=2;i<=NF-1;i++) {printf delim "%s", $i; delim = OFS}; printf "\n"}' inputfile
Это также устраняет пару проблем в этом ответе.
Обобщая, что:
awk -v skipstart=1 -v skipend=1 '{delim = ""; for (i=skipstart+1;i<=NF-skipend;i++) {printf delim "%s", $i; delim = OFS}; printf "\n"}' inputfile
Затем вы можете изменить количество полей, чтобы пропустить в начале или в конце, изменив присвоения переменных в начале команды.
It wor ks намного лучше с разделителем ....... cut -d '' -f -2 <<< 'Это тест' – Yogamurthy