Печать 2-й и 7-й строк в файл с помощью `sed`

У меня есть каталог .txt-файлов. Для каждого я хотел бы захватить вторую и седьмую строки и добавить эти строки в другой файл, который я произвольно назвал list.index. Я не уверен, как сообщить sed о текущем имени файла, в цикле for, поэтому то, что у меня ниже, пока не работает.

#!/bin/sh for i in *.txt do sed -n -e '2p' -e '7p' list.index done 

2 Solutions collect form web for “Печать 2-й и 7-й строк в файл с помощью `sed`”

В вашем случае вы сказали sed что печатаете 2-й и 7-й строки файла list.index , а не добавляете к ним эти строки.

Попробуй это:

 #!/bin/sh for i in *.txt do sed -n -e '2p;7p' < "$i" >> list.index done 

Он напечатает 2-ю и 7-ю строки каждого файла .txt затем добавит их в list.index .

Обратите внимание, что вы можете сказать, что sed перестает читать после того, как он прочитает 7-ю строчку, после этого нет смысла следить за чтением:

 #! /bin/sh - for i in *.txt; do sed -e 2b -e 7q -ed < "$i" done > list.index 

(или sed '7q;2!d' < "$i" короче, но немного менее разборчиво)

  • Как удалить строку, если она начинается с. или a> с помощью sed?
  • Почему нет? регулярный символ создает совпадение в sed?
  • рассчитать числа на конец и слить в одну строку
  • Строка печати содержит максимальное и минимальное значение
  • Как добавить текущую дату перед расширением файла для нескольких файлов в каталоге?
  • Объединение нескольких файлов с общим заголовком
  • У Busybox ASH внутри initrd есть проблема, когда трубопроводный тройник
  • Удалите первый и последний символы, если они есть
  • Удалить определенные номера строк из текстового файла с помощью sed?
  • sed заменить на backspace
  • использование sed / awk в переменных сценария bash
  • Interesting Posts

    Утилита для проверки ожидающих обновлений в Arch

    Кто является владельцем файла, если файл создан с помощью команды sudo?

    Выполнение программы, вызванной оболочкой, вызываемой crontab, возвращает код 127

    Слияние нескольких файлов при различиях

    Корректировка Linux через mysql

    на FreeBSD, как мне открыть порт в WAN, но не в локальной сети?

    В чем разница между /etc/rc.d/rc*.d и /etc/rc*.d

    Используется xrandr для поворота монитора, но он не может отменить его после удаления скрипта

    Разрешение отклонено после смены пароля (правильный пароль)

    В чем разница в использовании процессора между «ps aux» и «ps -ef»?

    Хотя wirehark видит ответ ping, программа ping не получает ответ, если в таблице маршрутизации есть недостижимый маршрут дефалтов

    Не удалось получить psk из сети с помощью wpa_cli

    Как подключиться к другой машине через SSH?

    выборочный stdout, stderr и ведение журнала с помощью команды script

    Как следить за ссылками в man-страницах linux?

    Linux и Unix - лучшая ОС в мире.