Печать содержимого массива в одной строке в awk - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть скрипт, в котором мне нужно напечатать содержимое массива в той же строке предыдущего оператора печати.Здесь array is dynamic in size, и у меня уже есть один оператор печати, который показывает вывод по столбцам.

Например: пусть массив имеет 3 содержимого (arr [1] = 2, arr [2] = 4, arr [3] = 6), min = 100, max = 200.У меня есть заявление на печать, которое печатает результат с колонками.

gawk '{
  ...
  ...
print "Min:" min "\tMax:" max 
for (itr in arr)
print arr[i] " "

}' script.txt

Ожидаемый вывод:

Min:100  Max:200  2 4 6 

Мой вывод:

Min:100 Max:200
2
4
6

Пожалуйста, предложите мне подход,как добавить содержимое массива в предыдущий результат печати. ​​

1 Ответ

0 голосов
/ 20 февраля 2019

Попробуйте использовать эхо, у него есть опция -n, чтобы пропустить печать новой строки в конце.

gawk '{
  ...
  ...
echo -n "Min:" min "\tMax:" max 
for (itr in arr)
echo -n arr[i] " "

}' script.sh

Другой подход

gawk '{
  ...
  ...
printf "Min:" min "\tMax:" max 
for (itr in arr)
printf arr[i] " "

}' script.sh

Пожалуйста, обратитесь echo документация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...