Добавить числа в начало каждой строки файла Как добавить числа в начало каждой строки в файле? например:. This is the text from the file. становится: 000000001 This is 000000002 the text 000000003 from the file. Ответ 1 AWK printf, NR и $0 упрощают точное и гибкое управление форматированием: ~ $ awk '{printf("%010d %s\n", NR, $0)}' example.txt 0000000001 This is 0000000002 the text 0000000003 from the file. Ответ 2 Не используйте кошку или какой-либо другой инструмент, который не предназначен для этого. Используйте программу: nl - числовые строки файлов Пример: nl --number-format=rz --number-width=9 foobar Потому что для него сделано nl; -) Ответ 3 Вы ищете команду nl(1): $ nl -nrz -w9 /etc/passwd 000000001 root:x:0:0:root:/root:/bin/bash 000000002 daemon:x:1:1:daemon:/usr/sbin:/bin/sh 000000003 bin:x:2:2:bin:/bin:/bin/sh ... -w9 запрашивает цифры длиной девять цифр; -nrz запрашивает форматирование чисел с выравниванием по правому краю с нулевым заполнением. Ответ 4 cat -n thefile выполнит задание, хотя и с номерами в немного другом формате. Ответ 5 perl -pe 'printf "%09u ", $.' -- example.txt Ответ 6 Здесь bash script, который сделает это также: #!/bin/bash counter=0 filename=$1 while read -r line do printf "%010d %s" $counter $line let counter=$counter+1 done < "$filename" Ответ 7 Самый простой, простой вариант - awk '{print NR,$0}' file См. комментарий выше о том, почему nl не самый лучший вариант.
Ответ 1 AWK printf, NR и $0 упрощают точное и гибкое управление форматированием: ~ $ awk '{printf("%010d %s\n", NR, $0)}' example.txt 0000000001 This is 0000000002 the text 0000000003 from the file.
Ответ 2 Не используйте кошку или какой-либо другой инструмент, который не предназначен для этого. Используйте программу: nl - числовые строки файлов Пример: nl --number-format=rz --number-width=9 foobar Потому что для него сделано nl; -)
Ответ 3 Вы ищете команду nl(1): $ nl -nrz -w9 /etc/passwd 000000001 root:x:0:0:root:/root:/bin/bash 000000002 daemon:x:1:1:daemon:/usr/sbin:/bin/sh 000000003 bin:x:2:2:bin:/bin:/bin/sh ... -w9 запрашивает цифры длиной девять цифр; -nrz запрашивает форматирование чисел с выравниванием по правому краю с нулевым заполнением.
Ответ 6 Здесь bash script, который сделает это также: #!/bin/bash counter=0 filename=$1 while read -r line do printf "%010d %s" $counter $line let counter=$counter+1 done < "$filename"
Ответ 7 Самый простой, простой вариант - awk '{print NR,$0}' file См. комментарий выше о том, почему nl не самый лучший вариант.