Лесно добавяне на номера на редове към текстов файл с командния ред
Браян пита: „Трябва да добавя номера на редове към текстов файл. Нямам предвид номера на редове в текстовия редактор, имам предвид добавяне на номер до всеки елемент в текстов файл. Възможно ли е това да се автоматизира или трябва ръчно да редактирам файла, като напиша 1, 2, 3 и полудявам?“
Да, можете лесно да кодирате номера на редове в текстов файл... ние ще ви покажем как точно да го направите! За да бъде напълно ясно, това, което ще направи това, е да добави номер на ред за броене от лявата страна на всеки нов ред текст, поставяйки пред всеки ред съответния съответен номер.Това твърдо го кодира в текстовия файл, което означава, че е различно от просто показване на номера на редове в приложение като TextWrangler, VIM или BBEdit.
За да започнете, отидете на терминала и ще искате да направите следното в командния ред:
Използване на cat за добавяне на номера на редове към текстов файл
Това е най-лесният метод: cat -n file > file_new
Просто заменете „file“ с името на файла, към който искате да добавите номера на редове, и променете „file_name“ на експортираното име.
Можете също да използвате командата ‘nl’, както е описано по-долу:
Твърди основни номера на редове в текстов файл с помощта на командата nl
Отново заменете „filename“ и „filenamenunumbered“ с подходящото име на файла, към който добавяте номера на редове:
nl -ba -s ': ' име на файл > име на файл номерирано
Това е всичко! Можете да използвате и двата трика. Няколко читатели се включиха в коментарите, за да осигурят по-лесни решения за номериране на редове в текстов файл. Те бяха изброени по-горе по реда на опростяване, но ние ще предложим и „awk“ решение по-долу.
-
Можете също да използвате инструмента на командния ред ‘awk’, но той е малко по-сложен от методите, споменати по-горе, ако се интересувате, стартирайте терминала и тръгваме.
Първо, не забравяйте да архивирате текстовия си файл в случай, че нещо се обърка (като синтактична грешка). Сега, след като сте направили резервно копие на въпросния текстов файл, нека напишем номерата на редовете директно в него:
"awk &39;{printf(%5d : %s\n, NR, $0)}&39; име на файл > име на файл с номериране "
filename е оригиналният файл, а filenamenunumbered е това, което искате да наречете изхода на командата awk с номерата на редовете, прикачени към него. Вашият изходен текстов документ вече ще има число, последвано от двоеточие преди всеки ред:
1: ред с думи 2: ред с думи 3: ред с думи
Вашият оригинален текстов файл трябва да е непроменен, но ако сте направили синтактична грешка, резервният файл, който сте направили, ще ви спаси. Тази команда ще работи във всяка Unix OS, която поддържа awk, така че не се колебайте да стартирате тази команда във FreeBSD, Linux, Mac OS X или какъвто и да е друг вариант, за който се сетите.