Справка Bash: столбцы awk

Помогает ли это? : sudo apt-get install --reinstall apache2 --fix-missing

или если этого недостаточно, попробуйте установить с помощью пакета-менеджера единства все пакеты, касающиеся " лампа "в качестве слова поиска, тогда перечислены все необходимые пакеты.

Если выше не было помощи, эта ссылка должна содержать ответы:

Следующие пакеты имеют неудовлетворенные зависимости (apache )

И есть:

Следующие пакеты имеют неудовлетворенные зависимости (apache)

2
задан 27 April 2017 в 01:20

6 ответов

Использование grep:

grep -Po '(\d+\.){3}\d+\s+\d+'
0
ответ дан 18 July 2018 в 14:12

Как всегда в Linux существует более одного способа выполнить задание. Я разместил текст, который вы предоставили, в file.txt. Вот два возможных способа, основанных на информации, которую вы указали:

1. Решение awk: используйте переменную Nk awk, чтобы начать с последнего поля

linux-okrz:~# awk '{print $(NF-1), $(NF)}' file.txt address> <port> xx.xxx.xx.xxx xxxx xxx.xx.xxx.xxx xxxx xx.xxx.xx.xxx xx

2. sed: используйте sed, чтобы удалить запятую перед началом

linux-okrz:~# sed 's|,||g' file.txt | awk '{print $3, $4}' <IP address> xx.xxx.xx.xxx xxxx xxx.xx.xxx.xxx xxxx xx.xxx.xx.xxx xx

. Обратите внимание, что в обоих примерах первая строка слегка отключена, поскольку между «IP» и «адресом» есть пробел. Предполагая, что в реальном выходе это фактический IP-адрес, который не должен быть проблемой. Кроме того, второй пример может не работать, если на выходе есть другие экземпляры, с которыми необходима важная запятая.

Наконец, эти команды основаны исключительно на выходе и предоставленном вопросе. Возможно, потребуется дополнительная настройка в зависимости от того, что еще находится в файле и / или что еще вы делаете в своем скрипте.

0
ответ дан 18 July 2018 в 14:12

Поскольку столбцы являются инвариантными, вы можете cut -c32- (man cut) сохранить файл.

1
ответ дан 18 July 2018 в 14:12

Использование grep:

grep -Po '(\d+\.){3}\d+\s+\d+'
0
ответ дан 24 July 2018 в 20:21

Как всегда в Linux существует более одного способа выполнить задание. Я разместил текст, который вы предоставили, в file.txt. Вот два возможных способа, основанных на информации, которую вы указали:

1. Решение awk: используйте переменную Nk awk, чтобы начать с последнего поля

linux-okrz:~# awk '{print $(NF-1), $(NF)}' file.txt address> <port> xx.xxx.xx.xxx xxxx xxx.xx.xxx.xxx xxxx xx.xxx.xx.xxx xx

2. sed: используйте sed для удаления запятой перед записью

linux-okrz:~# sed 's|,||g' file.txt | awk '{print $3, $4}' <IP address> xx.xxx.xx.xxx xxxx xxx.xx.xxx.xxx xxxx xx.xxx.xx.xxx xx

Обратите внимание, что в обоих примерах первая строка слегка отключена, так как между «IP» и «адресом» есть пробел. Предполагая, что в реальном выходе это фактический IP-адрес, который не должен быть проблемой. Кроме того, второй пример может не работать, если на выходе есть другие экземпляры, с которыми необходима важная запятая.

Наконец, эти команды основаны исключительно на выходе и предоставленном вопросе. Возможно, потребуется дополнительная настройка в зависимости от того, что еще находится в файле и / или что еще вы делаете в своем скрипте.

0
ответ дан 24 July 2018 в 20:21
  • 1
    Я пришел сюда, чтобы написать о $ NF, но видел, что это уже сделано! :) Однако использование cat в этом контексте не нужно, porkmail.org/era/unix/award.html#cat – mgor 27 April 2017 в 08:44
  • 2
    Хорошая точка @mgor. Я привык, что старые привычки умирают. Исправлен мой ответ, чтобы быть более чувствительным к процессу. ;) Благодаря! – TopHat 27 April 2017 в 19:47

Поскольку столбцы являются инвариантными, вы можете cut -c32- (man cut) сохранить файл.

1
ответ дан 24 July 2018 в 20:21

Другие вопросы по тегам:

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