Как я могу предварительно ожидать номер строки и вкладку к каждой строке текстового файла?

Как я могу добавить номер строки и вкладку к началу каждой строки текстового файла?

45
задан 21.07.2009, 19:39

8 ответов

awk '{printf "%d\t%s\n", NR, $0}' < filename
49
ответ дан 07.12.2019, 08:36

Команда nl должна сделать это, но она добавляет пространство перед номером строки также. Это - часть Linux coreutils.

nl lines.txt
 1  $bkWTN
 2  $cV8$.
55
ответ дан 07.12.2019, 08:36
sed = test.txt | sed 'N;s/\n/\t/'

Команда "sed =" распечатает номер строки, сопровождаемый возвратом каретки и затем следующей строкой.

Выражение "N; s/\n/\t /" будет проводить каждую строку, получать следующую строку (т.е. номер строки и строка), и заменять возврат каретки вкладкой.

10
ответ дан 07.12.2019, 08:36
cat -n <yourfile> | perl -pe "s/^\s*(\d+)\s+/\1\t/"

кошка-n добавляет linenumbers как "123 linecontents" и что regexp изменяет его к "linenumberTABlinecontents"

4
ответ дан 07.12.2019, 08:36
perl -pe "s/^/$.\t$_/" file.txt

или

perl -ne "print qq($.\t$_)" file.txt
3
ответ дан 07.12.2019, 08:36

Как насчет

cat -n somefile.txt

?

2
ответ дан 07.12.2019, 08:36

Хорошо, так как мы собираем способы сделать это,

 grep -n . file.txt | sed 's/\(^[0-9]*\):/\1    /g'
 # this is a tab with Ctrl-V + Tab  =====>  ---- 
1
ответ дан 07.12.2019, 08:36
sed file.txt -e 's/^/\t/' | cat -n | sed -e 's/^\t//'

или для некоторого не-GNU seds:

cat file.txt | sed -e 's/^/\\t/' | cat -n | sed -e 's/^\\t//'
1
ответ дан 07.12.2019, 08:36

Теги

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