Linux save text to file

How to Write to a File in Bash

There are multiple ways to read and write a file in bash. The simplest way is using operators “>” and “>>”.

  • “>” operator will overwrite the existing data
  • “>>” operator will append data

The general format of using redirection operators is:

Let’s understand the writing to a file procedure with an example:

How to write a file using redirection operators

As discussed above, the simple and straightforward approach of writing to a file is using redirection operators. For instance, if you want to change the text of an already existing file, then firstly create a text file by the name of “testfile.txt” and write anything in it:

Save the text file.

Type the below-mentioned command in the terminal:

Over wring may be risky; therefore, it is good practice to enable “noclobber”. Setting “noclobber” would block any overwriting to any exiting file.

But if you want to bypass “noclobber” then use the”>|” operator instead of “>”:

Or you can simply disable “noclobber”:

But this command will take away protection from all the files.

The above output is indicating that the existing text has been overwritten. Now, let’s use the “>>” operator:

echo” is not always ideal to use since you cannot format text using it, therefore use “printf” in the place of “echo” to format the text as demonstrated in the following command:

Let’s understand the concept with a bash script example. Open Vim by typing “vim” in the terminal. If you do not have Vim editor on your device, then install it using:

Type the script:

The “cat” command is used to create and edit the files. Save the above script in Vim by switching mode after pressing the “Esc” key and then type “:w myscript.sh”. Open the terminal and run the code:

How to write a file using Heredoc

If you want to write multiple lines, then the easiest method is using “Heredoc”. Here document, also known as “Heredoc,” is a multi-purpose code block. The syntax of Heredoc is:

About the author

Sam U

I am a professional graphics designer with over 6 years of experience. Currently doing research in virtual reality, augmented reality and mixed reality.
I hardly watch movies but love to read tech related books and articles.

Источник

Bash: запись в файл

Bash: Write to File

В этом руководстве объясняется, как записать текст в файл в Bash, используя операторы перенаправления и tee команду.

Одна из наиболее распространенных задач при написании сценариев Bash или работе в командной строке Linux — это чтение и запись файлов.

Запись в файл с использованием операторов перенаправления

В Bash перенаправление вывода позволяет вам захватить вывод команды и записать его в файл.

Общий формат перенаправления и записи вывода в файл следующий:

  • Оператор > перенаправления записывает вывод в указанный файл. Если файл существует, он обрезается до нулевой длины. В противном случае файл создается. Будьте особенно осторожны при использовании этого оператора, так как вы можете перезаписать важный файл.
  • Оператор >> перенаправления добавляет вывод в указанный файл. Если файл не существует, он создается.

У вас должны быть права на запись в файл. В противном случае вы получите сообщение об ошибке в разрешении отказано.

Вот простой пример, показывающий, как перенаправить вывод echo команды в файл:

Чтобы предотвратить перезапись существующих файлов, включите опцию «noclobber» с помощью set встроенной команды:

>| Оператор позволяет переопределить Bash «NoClobber» вариант:

>> Оператор добавить вывод в конец файла, а не перезаписывать файл:

Используйте printf команду для создания сложного вывода:

Если вы хотите записать несколько строк в файл, используйте перенаправление документа Here (Heredoc).

Читайте также:  Лучшее качество печати лазерным принтером

Например, вы можете передать содержимое cat команде и записать его в файл:

Для добавления строк, изменения > с >> перед именем файла:

Вы можете записать вывод любой команды в файл:

Вывод date команды будет записан в файл.

Запись в файл с помощью tee команды

Команда tee читает из стандартного ввода и записывает как в стандартный вывод, так и в один или несколько файлов одновременно.

По tee умолчанию команда перезаписывает указанный файл, как и > оператор. Чтобы добавить вывод в файл, вызовите команду с параметром -a ( —append ):

Если вы не хотите, tee чтобы он писал на стандартный вывод, вы можете перенаправить его на /dev/null :

Чтобы записать текст в несколько файлов, укажите файлы в качестве аргументов tee команды:

Еще одно преимущество tee команды состоит в том, что вы можете использовать ее вместе с sudo файлами, принадлежащими другим пользователям, и записывать в них. Чтобы добавить текст в файл, для которого у вас нет прав на запись, добавьте sudo перед tee :

echo Вывод команды передаются в качестве входных данных к tee , который возводит разрешения SUDO и записывает текст в файл.

Заключение

В Linux для записи текста в файл используйте операторы перенаправления > и >> или tee команду.

Источник

Writing to Files Using cat Command on Linux

Introduction

The cat command is a Unix tool used for manipulating and displaying file contents. The command gets its name from the word «concatenate» because it has, among other things, the ability to concatenate files.

In this article, we’ll go through a few easy ways to use this command to write text to a file with examples. Using cat is very straightforward, so no prior programming or Unix experience is needed to follow along.

cat Command Basics

Starting, we’ll just sum up the basics of the cat command to help you out if you’ve never used it before or need a brief overview.

Syntax

The syntax looks like this:

To quickly look up the syntax or command options, run cat with the help option:

Or, you can use the manual pages:

These commands should display the following list of options:

Displaying File Contents on the Standard Output

To print the contents of a file to the standard output just name the file you want to display:

If the file is in a different directory, you’ll have to navigate to it:

We’ll be expecting to see the contents of this file, printed to the standard output, in this case — the terminal:

This is the most common use of the cat command since it makes it easy to peek into the contents of a file without opening a text editor.

Writing Text to a File Using cat

To redirect the output of the cat command from the standard output to a file, we can use the output redirection operator > :

This will overwrite the contents of filename2 with the contents of filename1 , so make sure that filename2 doesn’t contain anything you would mind losing. Now, filename2 contains:

The output redirection operator will redirect the output of any command we call. For example, let’s try it out with the pwd command, which prints the name of the current working directory:

If we take a look at the testfile now:

It contains the current working directory’s path:

If the file you are redirecting to doesn’t exist, a file by that name will be created:

Concatenating Files with cat

Concatenating multiple files using cat is simple — just list the files in the desired order:

Free eBook: Git Essentials

Check out our hands-on, practical guide to learning Git, with best-practices, industry-accepted standards, and included cheat sheet. Stop Googling Git commands and actually learn it!

This takes the filename1 and filename2 files, concatenates them, and outputs the into a new outputfile :

Standard Input Between Files

When the name of the input file isn’t listed, cat starts reading from the standard input until it reaches EOF (end-of-file). The end-of-file signal is sent by the ctrl+d command line shortcut:

This would output:

We can even add text from the standard input in between files we wish to concatenate by using — to indicate where we expect standard input. If we have files such as filename1 , filename2 , and filename3 , and we want some text from the standard input in between filename1 and filename2 , we would write:

Checking output , we’ll see something along the lines of:

Appending Files with cat

In the previous examples, using the redirection operator discarded the previous contents of the output file. What if we want to append the new content to the old content? To append files we use the >> operator:

And that should result in:

Concatenating Contents of all Files Directory with cat

To concatenate all contents of all files in a directory, we use the wildcard * :

Читайте также:  Как распечатать картинку на нескольких листах а4 на принтере hp 410

To concatenate all contents of all files in the current working directory, we’d use:

* can also be used to concatenate all files with the same extension:

Enumerating Line Numbers

Enumeration of all lines of output is done with the -n option:

Which would write something along the lines of:

Write $ at the End of Every Line

The -E option marks the end of every line in the file with the $ character:

Sorting Lines of Concatenated Files by Piping

This one is a bit of a cheat. The cat command can’t sort, but we can use piping to achieve that. The pipe command ( | ) is used to turn the output of one command into the input of another. To sort the lines of a file, we’ll use both cat and another command, called sort :

This results in:

Conclusion

Cat is a simple, yet powerful Unix tool that comes pre-installed on most systems. It can be used on its own or in combination with other commands using pipes. Originally made by Ken Thompson and Dennis Ritchie in 1971, cat ‘s easy to use and intuitive functionalities stand the test of time.

In this article, we’ve explored some of the possibilities of using the cat command to write text to files, check contents, concatenate and append files as well as enumerate lines and sort them.

Источник

Запись файлов в Bash

Одна из наиболее распространенных задач при написании сценариев Bash или работе в командной строке Linux — это чтение и запись файлов.

В этой статье объясняется, как записать текст в файл в Bash с помощью операторов перенаправления и команды tee .

Запись в файл с использованием операторов перенаправления

В Bash перенаправление вывода позволяет вам захватить вывод команды и записать его в файл.

Общий формат перенаправления и записи вывода в файл следующий:

  • Оператор перенаправления > записывает вывод в указанный файл. Если файл существует, он обрезается до нулевой длины. В противном случае файл создается. Будьте особенно осторожны при использовании этого оператора, так как вы можете перезаписать важный файл.
  • Оператор перенаправления >> добавляет вывод в указанный файл. Если файл не существует, он создается.

У вас должны быть права на запись в файл. В противном случае вы получите сообщение об ошибке в разрешении отказано.

Вот простой пример, показывающий, как перенаправить вывод команды echo в файл:

Чтобы предотвратить перезапись существующих файлов, включите опцию «noclobber» с помощью встроенной команды set :

>| оператор позволяет вам переопределить параметр Bash «noclobber»

Оператор >> добавляет вывод в конец файла, а не перезаписывает файл:

Используйте команду printf если вы хотите создать сложный вывод:

Если вы хотите записать несколько строк в файл, используйте перенаправление документа Here (Heredoc).

Например, вы можете передать содержимое команде cat и записать его в файл:

Чтобы добавить строки, замените > на >> перед именем файла:

Вы можете записать вывод любой команды в файл:

Вывод команды date будет записан в файл.

Запись в файл с помощью команды tee

Команда tee читает из стандартного ввода и записывает как в стандартный вывод, так и в один или несколько файлов одновременно.

По умолчанию команда tee перезаписывает указанный файл, как и оператор > . Чтобы добавить вывод в файл, вызовите команду с параметром -a ( —append ):

Если вы не хотите, чтобы tee выводил данные на стандартный вывод, вы можете перенаправить его на /dev/null :

Чтобы записать текст в несколько файлов, укажите файлы в качестве аргументов команды tee :

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

Выходные данные команды echo передаются как входные в tee , который повышает разрешения sudo и записывает текст в файл.

Выводы

В Linux для записи текста в файл используйте операторы перенаправления > и >> или команду tee .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

3 Ways to Create a Text File Quickly Through the Linux Terminal

Being a Terminal-savvy person, you may always be looking for ways to ditch the mouse. Creating a text file is one task for which you can depend only on your keyboard on an Ubuntu system. Three commands from the Linux command line are at your service for creating text files. These include:

  • The cat command
  • The touch command
  • The standard redirect symbol

Let us explore these commands in this article to create some sample text files. The commands and procedures mentioned in this article have been run on an Ubuntu 20.04 LTS system. Since we will be creating the text files using Ubuntu command line-the Terminal; you can open it either through the system Dash or the Ctrl+Alt+T shortcut.

The cat Command

The cat command is very helpful when dealing with text files in Linux. It helps you in achieving three basic purposes:

  • Creating a text file
  • Printing contents of a text file in your Terminal
  • Printing contents of a text file to another text file
Читайте также:  Phoenix miner linux запуск

Here, we will explore the first use of the cat command; creating a text file through the command line.

Enter the following command in your Terminal:

After entering this command, the next prompt will not appear; rather the cursor will display for you to enter the text for the file you just created.

In this example, I have created a text file through the following command and then entered some sample text:

Once you have entered all the text, hit enter to move to the next line and then use the Ctrl+D control to tell the system that you are done with entering the text. The usual command prompt will then appear for you to move on with further operations.

You can then use the ls command to see that your newly created text file will be there in the system.

Through the cat command, you can then view the contents of the file as follows:

You can see that the cat command shows the text I wrote while creating my sample file:

The touch command

Another way of quickly creating a text file through the Terminal is by using the touch command. The touch command, however, does not let you enter text in the file at the time of creation. After creating the file, you can enter the text through your favorite text editor. You might prefer the touch command over the cat command in one scenario; when you want to create multiple files at once through one command.

Let us first see how to create a single file first through the Linux touch command:

Use the ls command to see if the recently created file now exists on your system.

Create multiple files at once through the touch command

As mentioned above, the touch command takes the lead on the cat command on the basis that you can create multiple files simultaneously through the former. Use the following syntax to do so:

$ touch filename1.txt filename2.txt filename2.txt ….

For example, in the following command, I have created three files at once through the touch command:

I also checked the presence of the three files through the ls command in the above example.

If you want to edit any of the files you created through the touch command, you can use any of your favorite text editors. Here I am using the Nano editor to enter text to one of the files I created. I used the following command to open the file through the Nano editor.

I then entered the text and saved it by pressing Ctrl+X and then by hitting Enter.

The touch command can also be used to change the access and modification time of a file.

Change the access time of a file:

Set the modification time of a file:

touch -m samplefile.txt

You can view the access and modification time of files with the stat command:

Using the Standard Redirect Symbol

The standard redirect symbol is usually used when redirecting the output of a command to a file. However, it can also be used to create a single text file. The only difference is that while creating a new file we do not specify any command before the redirect symbol.

The difference between using the standard redirect symbol for creating a text file is that, unlike the cat command, you can not enter text this way. Also, unlike the touch command, you can only create one file at a time through the redirect symbol.

Use the following syntax in order to create a text file through this symbol:

to create file» width=319 height=45 data-ezsrcset=»https://vitux.com/wp-content/uploads/2018/10/word-image-129.png 319w,https://vitux.com/wp-content/uploads/2018/10/word-image-129-300×42.png 300w» sizes=»(max-width: 319px) 100vw, 319px» ezimgfmt=»rs rscb10 src ng ngcb10 srcset» data-ezsrc=https://vitux.com/wp-content/uploads/2018/10/word-image-129.png>

You can then use the ls command to see if the newly created text file now exists on your system.

You can enter text in the file through your favorite text editor. In the following example, I am using the Vim editor to edit the file through the following command:

When you save and exit the file, your text file will have those contents saved.

Through this article, we have learned three basic ways to create text files quickly through the Linux command line. You can now avoid the mouse and use only the keyboard in order to perform the simple task of creating a text file in Ubuntu.

Karim Buzdar

About the Author: Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. You can reach Karim on LinkedIn

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector