linux cat命令可以用于将文本写入文件吗?

IAm*_*aja 125 linux cat

是这样的:

cat "Some text here." > myfile.txt
Run Code Online (Sandbox Code Playgroud)

可能?这样的内容myfile.txt现在会被覆盖为:

Some text here.
Run Code Online (Sandbox Code Playgroud)

这对我不起作用,但也不会引起任何错误.

特别感兴趣的是cat基于a 的解决方案(不是vim/vi/emacs等).在线显示的所有示例都cat与文件输入结合使用,而不是原始文本...

Car*_*rum 159

这是做什么的echo:

echo "Some text here." > myfile.txt
Run Code Online (Sandbox Code Playgroud)

  • 奖金:`echo'这里有一些文字." >> myfile.txt`追加到文件的末尾 (6认同)
  • 如果需要在文本中使用双引号,请将整个内容用单引号引起来。这对于.json之类的代码很有用,例如`echo'{“ info1”:“ 123456”}'> info.json` (2认同)

gbr*_*ner 152

听起来你正在寻找Here文档

cat > outfile.txt <<EOF
>some text
>to save
>EOF
Run Code Online (Sandbox Code Playgroud)

  • `>`字符代表`$ PS2`的默认值; 它们会自动显示,并不打算输入.如果你有一个不同的'$ PS2`值,那就会显示出来. (4认同)

sto*_*ves 41

这是另一种方式 -

cat > outfile.txt
>Enter text
>to save press ctrl-d
Run Code Online (Sandbox Code Playgroud)

  • 这是macosx.ctrl-d适用于ubuntu. (3认同)

Le *_*iem 22

对于文本文件:

cat > output.txt <<EOF
some text
some lines
EOF
Run Code Online (Sandbox Code Playgroud)

对于 PHP 文件:

cat > test.php <<PHP
<?php
echo "Test";
echo \$var;
?>
PHP
Run Code Online (Sandbox Code Playgroud)


Ara*_*kun 9

我使用以下代码将原始文本写入文件,以更新我的CPU设置.希望这会有所帮助!脚本:

#!/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
Run Code Online (Sandbox Code Playgroud)

这会将文本"performance"写入上面脚本中提到的两个文件.此示例覆盖文件中的旧数据.

此代码保存为文件(cpu_update.sh)并使其可执行运行:

chmod +x cpu_update.sh
Run Code Online (Sandbox Code Playgroud)

之后,您可以使用以下命令运行脚本:

./cpu_update.sh
Run Code Online (Sandbox Code Playgroud)

如果您不想覆盖文件中的旧数据,请切换出来

cat > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF
Run Code Online (Sandbox Code Playgroud)

cat >> /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF
Run Code Online (Sandbox Code Playgroud)

这会将您的文本附加到文件的末尾,而不会删除文件中已有的其他数据.


小智 8

cat > filename.txt
Run Code Online (Sandbox Code Playgroud)

输入文本直到EOF保存文本使用:ctrl + d

如果你想阅读.txt文件使用

cat filename.txt
Run Code Online (Sandbox Code Playgroud)

一件事.txt不是强制性的,它可供您参考.


nsa*_*ana 6

使用环境变量编写多行文本echo

echo -e "
Home Directory: $HOME \n
hello world 1 \n
hello world 2 \n
line n... \n
" > file.txt 
Run Code Online (Sandbox Code Playgroud)


Jua*_*rty 5

您也可以这样做:

user@host: $ cat<<EOF > file.txt
$ > 1 line
$ > other line
$ > n line
$ > EOF
user@host: $ _
Run Code Online (Sandbox Code Playgroud)

我相信有很多使用方法。


mpo*_*tou 5

使用 cat 将文本写入文件的另一种方法是这样的

cat >file.txt <<< Write something here
Run Code Online (Sandbox Code Playgroud)


小智 5

您的问题的解决方案是:

echo "此处有一些文本" > filename.txt

但是,如果要将文件的输出重定向到其他文件,或者要将文件的输出附加到另一个文件,则可以使用 cat 命令:

cat filename > newfile -- 将文件名的输出重定向到 newfile

cat filename >> newfile -- 将 filename 的输出附加到 newfile