Объедините две линии эха в одну строку, используя команду cut - PullRequest
0 голосов
/ 23 сентября 2019

Теперь я печатаю две строки по отдельности, мне нужно напечатать ее в одной строке.

echo $line cut -d "/" -f5 
echo $line | cut -d "/" -f9

Мне нужны значения f5 и f9 в одной строке.

f5 --> domain_name
f9 --> service_name

Ожидаетсявывод:

domain_name service_name
domain_name service_name
domain_name service_name
domain_name service_name

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

Этого также можно добиться с помощью команды awk:

echo $line | awk -F"/" '{ print $5,$9 }'

-F: используется для выбора разделителя, который в данном случае равен /.И затем мы печатаем 5-й и 9-й столбец.

0 голосов
/ 23 сентября 2019

man cut обучает нас:

-f, --fields=LIST
       select  only  these  fields;   also print any line that contains 
       no delimiter character, unless the -s option is specified

, поэтому запятая в:

$ cut -d / -f 5,9 file 

является правильным ответом.Однако выходной разделитель также будет /:

domain_name/service_name

, если вы не определите его отдельно.man cut, вот и мы:

--output-delimiter=STRING
       use STRING as the output delimiter the default is to use the input delimiter

Итак:

$ cut -d / -f 5,9 --output-delimiter=\  file  # or --output-delimiter=" "

должен вывести:

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