Команда nl должна сделать это, но она также добавляет пробел перед номером строки. Это часть Linux Coreutils.
nl lines.txt 1 $bkWTN 2 $cV8$.
Как добавить номер строки и табуляцию в начало каждой строки текстового файла?
Команда nl должна сделать это, но она также добавляет пробел перед номером строки. Это часть Linux Coreutils.
nl lines.txt 1 $bkWTN 2 $cV8$.
awk '' < filename
sed = test.txt | sed 'N;s/\n/\t/'
Команда «sed =» напечатает номер строки, за которым следует возврат каретки, а затем следующая строка.
Выражение «N; s / \ n / \ t /» будет занимать каждую строку, получать следующую строку (т.е. номер строки и строку) и заменять возврат каретки табуляцией.
cat -n <yourfile> | perl -pe "s/^\s*(\d+)\s+/\1\t/"
cat -n добавляет бельевые числа как "123 linecontents", а регулярное выражение изменяет их на "linenumberTABlinecontents"
perl -pe "s/^/$.\t$_/" file.txt
или же
perl -ne "print qq($.\t$_)" file.txt
Как насчет
cat -n somefile.txt
?
OK, Here's a one-line bash solution:
$ IFS=$'\n';x=1;for l in $(<file.txt);do echo -e "$x\t$l";((x+=1));done $ IFS=
The first IFS setting tells bash to read a full line at a time. The second line resets the IFS to default.
As an added bonus, it runs completely in your shell and doesn't exec a program!
sed file.txt -e 's/^/\t/' | cat -n | sed -e 's/^\t//'
или для некоторых не-GNU sed
:
cat file.txt | sed -e 's/^/\\t/' | cat -n | sed -e 's/^\\t//'
Хорошо, так как мы собираем способы сделать это,
grep -n . file.txt | sed 's/\(^[0-9]*\):/\1 /g' # this is a tab with Ctrl-V + Tab =====> ----