Ответ 1
sed -n 'Xp' theFile
, где X
- ваш номер строки, а theFile
- ваш файл.
Хорошо, это, наверное, очевидная вещь, но это ускользает от меня, так как в ней, вероятно, можно было бы сделать намного проще, чем я пока не знаю. Скажем, есть "файл", и я хочу просмотреть только то, что на строке номер "X" этого файла, каково было бы решение?
вот что я могу придумать:
head -X < file | tail -1
sed -n Xp < file
есть ли что-нибудь еще (или любым другим способом) из стандартного набора текстовых инструментов /utils unix/gnu/linux?
sed -n 'Xp' theFile
, где X
- ваш номер строки, а theFile
- ваш файл.
в vi:
vi +X filename
в EMACS:
emacs +X filename
в оболочке:
nl -ba -nln filename| grep '^X '
вы можете использовать контекст grep cgrep вместо grep
, чтобы увидеть некоторые строки выше и ниже соответствующей строки.
<сильные > ПРИМЕРЫ:
напечатайте только одну строку:
$ nl -ba -nln active_record.rb | grep '^111 '
111 module ConnectionAdapters
с контекстом:
$ nl -ba -nln active_record.rb | grep -C 2 '^111 '
109 end
110
111 module ConnectionAdapters
112 extend ActiveSupport::Autoload
113
для управления контекстом в grep
проверить man grep
:
Context Line Control
-A NUM, --after-context=NUM
Print NUM lines of trailing context after matching lines. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.
-B NUM, --before-context=NUM
Print NUM lines of leading context before matching lines. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.
-C NUM, -NUM, --context=NUM
Print NUM lines of output context. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.
awk one-liner:
awk "NR==$X" file
bash loop:
for ((i=1; i<=X; i++)); do
read l
done < file
echo "$l"
Просто используйте vi
vi file
Если в типе файла
:X
где X - номер строки, которую вы хотите видеть
Однако файл sed -n Xp является хорошим способом, если вы действительно хотите видеть только одну строку