Can linux cat command be used for writing text to file?
LinuxCatLinux Problem Overview
Is something like this:
cat "Some text here." > myfile.txt
Possible? Such that the contents of myfile.txt
would now be overwritten to:
Some text here.
This doesn't work for me, but also doesn't throw any errors.
Specifically interested in a cat
-based solution (not vim/vi/emacs, etc.). All examples online show cat
used in conjunction with file inputs, not raw text...
Linux Solutions
Solution 1 - Linux
That's what echo
does:
echo "Some text here." > myfile.txt
Solution 2 - Linux
Sounds like you're looking for a Here document
cat > outfile.txt <<EOF
>some text
>to save
>EOF
Solution 3 - Linux
Here's another way -
cat > outfile.txt
>Enter text
>to save press ctrl-d
Solution 4 - Linux
For text file:
cat > output.txt <<EOF
some text
some lines
EOF
For PHP file:
cat > test.php <<PHP
<?php
echo "Test";
echo \$var;
?>
PHP
Solution 5 - Linux
I use the following code to write raw text to files, to update my CPU-settings. Hope this helps out! Script:
#!/bin/sh
cat > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor <<EOF
performance
EOF
cat > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF
performance
EOF
This writes the text "performance" to the two files mentioned in the script above. This example overwrite old data in files.
This code is saved as a file (cpu_update.sh) and to make it executable run:
chmod +x cpu_update.sh
After that, you can run the script with:
./cpu_update.sh
IF you do not want to overwrite the old data in the file, switch out
cat > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF
with
cat >> /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF
This will append your text to the end of the file without removing what other data already is in the file.
Solution 6 - Linux
cat > filename.txt
enter the text until EOF for save the text use : ctrl+d
if you want to read that .txt file use
cat filename.txt
and one thing .txt is not mandatory, its for your reference.
Solution 7 - Linux
You can do it like this too:
user@host: $ cat<<EOF > file.txt
$ > 1 line
$ > other line
$ > n line
$ > EOF
user@host: $ _
I believe there is a lot of ways to use it.
Solution 8 - Linux
Write multi-line text with environment variables using echo
:
echo -e "
Home Directory: $HOME \n
hello world 1 \n
hello world 2 \n
line n... \n
" > file.txt
Solution 9 - Linux
Another way to write text to file using cat would be something like this
cat >file.txt <<< Write something here
Solution 10 - Linux
The Solution to your problem is :
> echo " Some Text Goes Here " > filename.txt
But you can use cat command if you want to redirect the output of a file to some other file or if you want to append the output of a file to another file :
cat filename > newfile -- To redirect output of filename to newfile
cat filename >> newfile -- To append the output of filename to newfile
Solution 11 - Linux
simply pipeline echo with cat
For example
echo write something to file.txt | cat > file.txt
Solution 12 - Linux
cat
can also be used following a |
to write to a file, i.e. pipe feeds cat a stream of data
Solution 13 - Linux
For my Jenkins on MacOS 11.4
{
echo 'line 1' $var1
echo 'line 2'
echo 'result' $var5
} > ${destination_file}
I had tried many times by cat
syntax, ex: cat > ${dest_file} <<EOF ... EOF
, and got error syntax error: unexpected end of file
. So, I use echo
syntax to output multi-lines text to a file.