Как добавить слова в текстовый файл, используя только команду терминала в Linux

Убунту 12

Терминал Linux, также известный как командная строка, представляет собой мощный инструмент, позволяющий взаимодействовать с вашей системой с помощью текстовых команд. Одна из многих задач, которые вы можете выполнить с терминала, — это добавление слов или предложений в текстовый файл. В этой статье вы познакомитесь с несколькими способами сделать это с использованием различных инструментов командной строки.

Чтобы добавить слова в текстовый файл, используя только команды терминала в Linux, вы можете использовать команду sed для вставки текста в определенную строку, команду awk для вставки текста в определенную строку или на основе регулярного выражения, команду printf для добавления текст в конец файла или команду ed для интерактивной вставки текста в определенную строку. Каждая команда имеет свой собственный синтаксис и параметры, поэтому для получения дополнительной информации обратитесь к соответствующим страницам руководства.

Использование команды sed

Команда sed, сокращение от потокового редактора, может выполнять множество функций по манипулированию файлами и замене текста. Чтобы вставить строку с помощью sed, вы можете использовать следующий синтаксис:

sed -i '23iabcd' file.conf

В этой команде -i указывает sed редактировать файл на месте (т. е. сохранить изменения обратно в исходный файл). 23i инструктирует sed вставить текст в строку 23, а abcd — это текст, который нужно вставить. file.conf — это файл, в который будет добавлен текст.

Использование команды awk

awk — еще одна мощная команда обработки текста. Он может читать и записывать файлы, выполнять арифметические операции и обрабатывать регулярные выражения. Вот как использовать awk для добавления текста в файл:

awk -vn=23 -vs=”abcd” 'NR == n {print s} {print}' file.conf > temp.conf && mv temp.conf file.conf

В этой команде -vn=23 устанавливает переменную n для номера строки, в которую должен быть вставлен текст, а -vs=”abcd” устанавливает переменную s для вставляемого текста. NR == n {print s} {print} — это awk-программа, которая вставляет текст в указанную строку. Вывод перенаправляется во временный файл temp.conf, который затем переименовывается в исходное имя файла, фактически перезаписывая исходный файл.

Использование команды printf

Команда printf в Linux используется для печати и форматирования вывода. В отличие от echo, его можно использовать для печати вывода в отформатированном виде. Вот как использовать printf для добавления текста в конец файла:

printf “\nЭто новая строка в вашем документе” >> file.conf

В этой команде \n — это символ новой строки, который начинает новую строку, а >> — это оператор перенаправления, который добавляет выходные данные команды в файл. Если файл не существует, он будет создан.

Использование awk с регулярными выражениями

awk также можно использовать с регулярными выражениями для поиска определенного шаблона в файле и добавления текста в строку, содержащую совпадение:

awk '{if ($1 ~ /regex/) напечатайте $1 “содержимое, которое нужно добавить”; иначе напечатайте $1}' <входной файл> выходной файл

В этой команде if ($1 ~ /regex/) ищет регулярное выражение регулярного выражения в первом поле ($1) каждой строки. Если совпадение найдено, напечатайте $1 «содержимое, которое нужно добавить», чтобы распечатать совпадающее поле, за которым следует добавляемый текст. Измененное содержимое затем перенаправляется в выходной файл.

Использование команды ed

ed — это построчно-ориентированный текстовый редактор, который можно использовать в интерактивном режиме или в сценарии. Вот пример того, как использовать ed для добавления текста в файл:

ed -s /home/…/abc.conf <<< $'23i\ntext\n.\nwq'

В этой команде -s указывает ed начать работу в автоматическом режиме, 23i указывает ed вставить текст в строку 23, а text — это текст, который нужно добавить. . в отдельной строке завершается ввод команды i, а wq записывает изменения в файл и завершает работу ed.

Заключение

Это всего лишь несколько примеров того, как можно добавлять слова и предложения в текстовый файл из терминала Linux. Каждая команда имеет свой собственный синтаксис и параметры, поэтому для получения дополнительной информации обязательно обратитесь к соответствующим страницам руководства (man sed, man awk и т. д.). Приятного кодирования!

Вы можете использовать команду тестирования с опцией -f, чтобы проверить, существует ли файл. Например, команда test -f file.txt вернет true, если файл file.txt существует в текущем каталоге.

Вы можете использовать команду mkdir, за которой следует имя каталога, который вы хотите создать. Например, mkdir new_directory создаст новый каталог с именем «new_directory» в текущем каталоге.

Вы можете использовать команду rm, за которой следует имя файла, который вы хотите удалить. Например, команда rm file.txt удалит файл с именем «file.txt» в текущем каталоге. Будьте осторожны при использовании этой команды, поскольку она удаляет файл без возможности восстановления.

Вы можете использовать команду mv, за которой следует имя файла, который вы хотите переместить, и каталог назначения. Например, команда mv file.txt /path/to/destination переместит файл с именем «file.txt» в указанный каталог назначения.

Вы можете использовать команду ls для просмотра содержимого каталога. По умолчанию он отображает файлы и каталоги в текущем каталоге. Вы также можете указать каталог в качестве аргумента для вывода его содержимого. Например, ls /path/to/directory выведет содержимое указанного каталога.

Вы можете использовать команду cp, за которой следует имя файла, который вы хотите скопировать, и каталог назначения или имя файла. Например, cp file.txt /path/to/destination создаст копию файла «file.txt» в указанном каталоге назначения.

Вы можете использовать команду grep, за которой следует слово, которое вы хотите найти, и имя файла. Например, grep «word» file.txt будет искать слово «word» в файле с именем «file.txt» и отображать соответствующие строки.

Вы можете использовать команду mv, за которой следует текущее имя файла и новое имя, которое вы хотите ему дать. Например, mv old_name.txt new_name.txt переименует файл со «old_name.txt» на «new_name.txt» в текущем каталоге.

Вы можете использовать команду chmod, за которой следует указать нужные разрешения и имя файла или каталога. Например, chmod 755 file.txt установит разрешения «file.txt» на чтение, запись и выполнение для владельца, а также чтение и выполнение для других.

Вы можете использовать команду cd, за которой следует путь к каталогу, в который вы хотите перейти. Например, cd /path/to/directory изменит ваш текущий рабочий каталог на указанный каталог.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *