awk + печатают от третьего поля до конца строки каждое слово с одним пространством

Как я печатаю все слова $Organs (от третьего поля) с одним пространством между каждым Органом другому? Моя проблема состоит в том, что каждый параметрический усилитель $Organ имеет различное число Органов, таким образом, я не могу для предположения последнего полевого числа. Мне нужен awk синтаксис, которые печатают параметрический усилитель $Organs от третьего поля до последнего поля с одним пространством между словом.

Organs="a bb c ddd ee ff rr ff"
Organs="1 2    3 4 5   6 7 8 9 10 11 12 13 14 15 16 20 21 22"
Organs="I need to lern awk I hope I will do the best"
Organs="I need help"


echo $Organs| awk '{print $3" "$4" "$5" "$6 .......?}'
3
задан 16.11.2010, 18:18

2 ответа

% echo $Organs | awk '{              \
       for (i = 3; i <= NF; i++) {   \
          printf("%s ", $i);         \
       }                             \
       printf("\n") }'
4
ответ дан 08.12.2019, 00:06

Попробуйте что-то вроде этого:

for (i = 3; i <= NF; i++)
    printf("%s ", $i);
print ""

NF дает Вам количество полей в строке. Смотрите на этот FAQ:

Согласитесь лучше удовлетворенный для stackoverflow.com.

1
ответ дан 08.12.2019, 00:06

Теги

Похожие вопросы