Как да комбинирате текстови файлове с помощта на командата cat в Linux
Командата cat е много полезна в Linux. Той има три основни функции, свързани с манипулирането на текстови файлове: създаването им, показването им и комбинирането им.
Обсъдихме използването на командата cat (между другото) за създаване и преглед на текстови файлове в командния ред в Linux. Но нека предположим, че имате три текстови файла: file1.txt, file2.txt и file3.txt. Искате да комбинирате (или свързвам) в един текстов файл, съдържащ информация от трите, в този ред. Можете да направите това и с командата cat.
Просто отворете терминал и въведете следната команда:
cat file1.txt file2.txt file3.txt
Очевидно е, че заменете имената на файловете в горния пример със собствените си.
Комбинираното съдържание на трите текстови файла ще се появи във вашия терминал.
Обикновено обаче вероятно ще искате да комбинирате тези текстови файлове в друг текстов файл, а не само да отпечатате резултатите на екрана. За щастие, това е много просто. Всичко, което трябва да направите, е да добавите символ за пренасочване на изхода (>
) след списъка с файлове, които се свързват, и след това посочете името на окончателния текстов файл.
cat file1.txt file2.txt file3.txt> file4.txt
ЗАБЕЛЕЖКА: Файлът, посочен след символа за пренасочване на изхода, ще бъде презаписан, ако вече съществува. Така че, бъдете внимателни, когато указвате името на комбинирания текстов файл. По-късно в тази статия ще ви покажем как да добавите файлове в края на съществуващ файл.
Ако отворите file4.txt (или с командата cat или с текстов редактор по ваш избор), трябва да откриете, че той съдържа текста на първите три текстови файла.
Ако комбинирате списъци с елементи от множество файлове и искате да ги подреждате по азбучен ред в комбинирания файл, можете да сортирате комбинираните елементи в получения файл. За да направите това, въведете основния котка
команда, която ви показахме, следвана от командата pipe (|) и вид
команда. След това въведете символа за пренасочване на изхода (>
), последвано от името на файла, в който искате да копирате комбинирания текст. Всички редове от текста в резултата ще бъдат подредени по азбучен ред.
cat file1.txt file2.txt file3.txt | sort> file4.txt
Както споменахме по-рано, има и начин за добавяне на файлове към края на съществуващ файл. Въведете котка
команда, следвана от файла или файловете, които искате да добавите в края на съществуващ файл. След това въведете два символа за пренасочване на изхода (>>
), последвано от името на съществуващия файл, към който искате да добавите.
cat file5.txt >> file4.txt
Ако искате да добавите малко нов текст към съществуващ текстов файл, използвайте котка
командата да го направите директно от командния ред (вместо да го отваряте в текстов редактор). Въведете котка
команда, последвана от двойния символ за пренасочване на изхода (>>
) и името на файла, към който искате да добавите текст.
cat >> file4.txt
Курсорът ще се появи в следващия ред под подсказката. Започнете да въвеждате текста, който искате да добавите към файла. Когато сте готови, натиснете Enter след последния ред и след това натиснете Ctrl + D, за да копирате този текст в края на файла и да излезете от cat.
Ако завършите с много дълъг файл, след като комбинирате текстовите си файлове, можете да използвате символа на тръбата с командата less, когато преглеждате файла в прозореца на терминала. Например, cat file4.txt | по-малко
. Обсъждаме използването на командата less в тази статия.