Вопросы с тегом «awk»

Шаблонно-ориентированный язык сканирования и обработки.


6
Есть ли альтернатива ключам -A -B -C grep (чтобы напечатать несколько строк до и после)?
grep -A 2 -B 3 печатает 2 строки после строки grep и печатает 3 строки раньше. grep -C 3 печатает 3 строки до и 3 строки после К сожалению, grepя использую не поддерживает эти параметры. Существуют ли альтернативные команды или сценарии для имитации этого? Используете sed/ awk/ perl/ shell-скрипты?


6
Обработайте файл / etc / passwd, чтобы получить список всех пользователей, домашняя папка которых находится в / home
У меня есть пример файла / etc / passwd, например: tom:x:1000:1000:Work:/home/tom:/bin/bash george:x:1000:1000:Work:/home/george:/bin/bash bla:x:1000:1000:Work:/home/bla:/bin/bash boo:x:1000:1000:Work:/home/boo:/bin/bash bee:x:1000:1000:Work:/root/list:/bin/bash Я пытаюсь перечислить всех пользователей с домашней папкой в /home/. я написал cat ~/Desktop/e.txt |awk -F ":" '{if ($6 ~/^/home/) print $1;}' где e.txt - текст, который я скопировал здесь. Я понимаю, что есть проблема …

2
поглазеть на месте и стандартный вывод
Можно ли использовать gawk«s -i inplaceварианта , а также печатать вещи stdout? Например, если я хочу обновить файл, и если есть какие-либо изменения, напечатайте имя файла и измененные строки, чтобы stderrя мог сделать что-то вроде find -type f -name 'myfiles' -exec gawk -i inplace '{if(gsub(/pat/, "repl")) { print FILENAME > …
10 awk  gawk 

2
Объединение столбцов из двух отдельных файлов
Как создать новый файл, объединяющий отдельные столбцы из двух отдельных файлов с помощью awk? Не портя порядок элементов ОБА файлов. Пример: Файл 3 может содержать столбец 1,2,3 из файла 1 и столбец 4 из файла 2. File 1 A 23 8 T A 63 9 9 B 45 3 J …

3
Заменить строку с последовательным индексом
Может кто-нибудь предложить элегантный способ сделать это? Входные данные: test instant () test instant () ... test instant () //total 1000 lines вывод должен быть: test instant1 () test instant2 () test instant1000() Пустые строки находятся в моих входных файлах, и в одном каталоге много файлов, которые мне нужно обработать …

1
экранирование одной точки с двойной обратной косой чертой - awk
В книге "Эффективное программирование на awk" есть пример расщепления поля. вот пример: Если вы хотите, чтобы поля были разделены литеральным периодом, за которым следует какой-либо один символ, используйте ‘FS = "\\.."’. Почему это двойной обратный слеш? не должно ли это быть \..?

4
Сортировать поля в строке
Я пытаюсь отсортировать в строке ввода по неизвестному количеству полей: Входные данные: ab bc bc ab cd ef bc bc cd ef cd bc ab ef ab bc cd gh Вывод: ab bc ab bc bc cd ef bc cd ef ab cb cd ab bc cd ef gh Я …

1
конвертировать CSV в XLS файл на Linux
Следующий скрипт Perl может конвертировать файл CSV в файл XLS проблема в том, что мне нужно установить на машину Linux много модулей Perl для того, чтобы запустить этот скрипт Perl, и на самом деле я не могу, потому что машина Linux является машиной клиента (не разрешать устанавливать модули) Поэтому мне …
10 linux  bash  shell-script  awk  perl 

1
awk неожиданно удаляет точку из строки
Я хочу добавить столбец (2-е место) в .csvфайл и хочу, чтобы значения этого столбца были строками и заключались в кавычки; Следующая команда добавляет столбец, но без кавычек: awk -F"," 'BEGIN { OFS = "," } {$2="2.4.0"; print}' test.csv > output.csv Следующий подход включает в себя кавычки, но по какой-то причине …
9 awk  csv 

4
awk присваивать сразу нескольким переменным
Я пытаюсь извлечь два числовых значения из строки и назначить их переменным с помощью awk( gawkэто то, что я использую специально). Я хочу извлечь старшие и младшие номера версий из строки версии tmux в awkпеременные, например: вход tmux 2.8:; maj == 2а такжеmin == 8 вход tmux 1.9a:; maj == …
9 awk  gawk 

3
Как получить первый IP-адрес из команды ifconfig?
Как захватить первый IP-адрес, который приходит из ifconfigкоманды? ifconfig -a enw178032: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 100.14.22.12 netmask 255.255.0.0 broadcast 100.14.255.255 inet6 fe80::250:56ff:fe9c:158a prefixlen 64 scopeid 0x20<link> ether 00:10:56:9c:65:8a txqueuelen 1000 (Ethernet) RX packets 26846250 bytes 12068811576 (11.2 GiB) RX errors 0 dropped 58671 overruns 0 frame 0 TX packets 3368855 …
9 linux  bash  awk  sed  ifconfig 


5
awk sed if заявление
Я пытаюсь добавить 0 к началу, если есть "." на 2-м символе этой строки. Я не мог объединить эти два; awk '{ print substr( $0, 2, 1 ) }' file.txt показывая второго персонажа sed -ie "s/.\{0\}/0/" file.txt добавив ноль в начало. Там должно быть "если второй символ является точкой". образец …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.