2016-03-28 5 views
0
cat new 

Jackson, Bob D. C0001 book pizza apple 4.00 123as 
Filer, Jack C0002 happy apple hat 4.00 124ab 
Metro, Jim K. C0003 kindle pizza grape 4.00 125ac 

Что я хочу сделать здесь, это добавить счетчик, если идея состоит в том, что файл имеет более 100 строк, которые он сможет выполнить, пока каждая строка не будет подсчитана, а этот номер тоже добавляет его, так что, например, после счетчика файл будет выглядеть так!Как форматировать вывод для добавления счетчика unix

cat new 

1 Jackson, Bob D. C0001 book pizza apple 4.00 123as 
2 Filer, Jack C0002 happy apple hat 4.00 124ab 
3 Metro, Jim K. C0003 kindle pizza grape 4.00 125ac 

ответ

0

Вы можете использовать awk следующим образом:

awk '{printf "%d %s\n", NR, $0}' < new 

Выходной сигнал точно так же как

1 Jackson, Bob D. C0001 book pizza apple 4.00 123as 
2 Filer, Jack C0002 happy apple hat 4.00 124ab 
3 Metro, Jim K. C0003 kindle pizza grape 4.00 125ac 

EDIT:

awk '{printf "%03d %s\n", NR-1, $0}' < new сделает старт номер строки от 0 следующим образом :

000 Jackson, Bob D. C0001 book pizza apple 4.00 123as 
001 Filer, Jack C0002 happy apple hat 4.00 124ab 
002 Metro, Jim K. C0003 kindle pizza grape 4.00 125ac 
+0

Он работал, но только при NR <= 0 и NR-0! Однако мне было любопытно, если бы я хотел, чтобы он начинался с 000, тогда следующий номер будет 001, это возможно? – NewEffect

+0

@NewEffect Что вы подразумеваете под «когда NR <= 0 и NR-0»? – YCFlame

+0

awk '{if (NR <= 0) print $ 0; else printf "% d% s \ n", NR-0, $ 0} 'Единственный способ, которым я мог бы получить числа, чтобы показать, если я оставил его в два, он начнется на третьей записи, где это начинается с первого, а не конечно, почему на моем коде ... – NewEffect

Смежные вопросы