Вставить текст в файл в Unix/Linux

Существует довольно много способов как это сделать. Я не расскажу ничего нового, а соберу информацию в одну тему (статью) чтобы можно было новичкам, та и опытным пользователям можно быстро вспомнить.

Вставить текст в файл через утилиту cat в Unix/Linux

Утилита cat, позволяет записывать данные (текс) в файл. Приведу несколько примеров.

-=== ПРИМЕР 1 ===-

# cat > /etc/yum.repos.d/docker.repo <<EOF 
TEXT HERE 
EOF

Где:

  • TEXT HERE — произвольный текст, который нужно записать в файл.
  • EOF — это команда для завершения записи в файл.

-=== ПРИМЕР 2 ===-

 $ cat >> filename.txt 
TEXT HERE 
^D 

Где:

  • TEXT HERE — произвольный текст, который нужно записать в файл.
  • ^D — Сочетание клавиш «CTRL-D» для завершения записи в файл.

-=== ПРИМЕР 3 ===-

Можно использовать:

$ sudo sh -c 'cat << EOF >> file_name 
TEXT 
HERE 
EOF'

Или можно использовать что-то типа:

$ cat > tmp.txt <<TXT
 > fdsfsdf
 > dsf
 > f
 > s
 > ff
 > sf
 > f
 > s
 > TXT

Т.е вхождение у меня — TXT. Начало и конец записи регулируется именно этими символами.

Вставить текст в файл через утилиту echo в Unix/Linux

Чтобы вставить какой-то текст в файл с помощью команды echo, можно так (данная команда затрет файл и вставит именно то, что передадите ей):

# echo "this is a test text" > /home/$USER/test.txt

Или, можно дописать в самый конец файла следующей командой:

# echo "this is a test text" >> /home/$USER/test.txt

Вставить текст в файл через утилиту printf в Unix/Linux

Чтобы вставить какой-то текст в файл с помощью команды printf, можно так (данная команда затрет файл и вставит именно то, что передадите ей):

$ printf "hello" > filename

Или, можно дописать в самый конец файла следующей командой:

# printf "this is a test text" >> /home/$USER/test.txt

Или много строчный текст:

$ printf "hello
 > fsdf
 > dsf
 >
 > fsfd
 >
 > dsff
 > " > file_name

Вставить текст в файл через утилиту tee в Unix/Linux

Например, сделать это можно следующим образом:

$ tee -a file_name << EOF
TEXT HERE
EOF

Вставить текст в файл через python в Unix/Linux

Можно это сделать (создать файл  и прописать в него):

with open("file_name.txt", "a") as file_name:
    myfile.write("TEXT HERE")

Если появятся еще идеи как можно это сделать (SED — не всчет), дополню данную статью.

Вот и все, статья «Вставить текст в файл в Unix/Linux» завершена.

One thought on “Вставить текст в файл в Unix/Linux

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

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.