Как получить содержимое строки по ее номеру в оболочке

280
Derek nichols

Мне нужно получить содержимое строки по ее номеру. Я слышал о grep и исследовал весь форум, но мне не повезло, что это за команда? Например, я ввожу cmd как 'viewlinecontent linenumber file.php' и получаю содержимое строки.

0

1 ответ на вопрос

0
glenn jackman

Сед хорошо работает здесь:

linenumber=42 # or whatever sed -n "$p" file 

используйте -nдля предотвращения печати каждой строки.
$задает «диапазон адресов» (одной строкой) и
pпечатать эту строку.

sed руководство онлайн


Если вы хотите свой конкретный синтаксис, создайте функцию оболочки:

viewlinecontent() { sed -n "$p" "$2" } viewlinecontent 42 file.php 
Когда-нибудь я должен примириться с сед ... Frank Thomas 6 лет назад 0
У sed есть загадочные односимвольные команды, без переменных, без арифметики и т. д. Большинство вещей можно сделать более читабельно / легко в awk или perl. Я использую sed только для очень коротких фильтров: `sed q` ==` head -1`; `sed -n '$ p'` ==` tail -1`; `sed 's / search / replace / g'`; `sed -i 's / \ r $ //'` == `dos2unix` glenn jackman 6 лет назад 0

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