191

是这样的:

cat "Some text here." > myfile.txt

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

Some text here.

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

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

4

13 回答 13

241

这就是echo

echo "Some text here." > myfile.txt
于 2013-06-14T19:11:29.907 回答
213

听起来您正在寻找Here 文档

cat > outfile.txt <<EOF
>some text
>to save
>EOF
于 2013-06-14T19:29:46.420 回答
73

这是另一种方式 -

cat > outfile.txt
>Enter text
>to save press ctrl-d
于 2015-05-02T16:36:52.893 回答
26

对于文本文件:

cat > output.txt <<EOF
some text
some lines
EOF

对于 PHP 文件:

cat > test.php <<PHP
<?php
echo "Test";
echo \$var;
?>
PHP
于 2019-07-16T06:55:35.383 回答
13

我使用以下代码将原始文本写入文件,以更新我的 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

这会将文本“性能”写入上面脚本中提到的两个文件。此示例覆盖文件中的旧数据。

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

chmod +x cpu_update.sh

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

./cpu_update.sh

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

cat > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF

cat >> /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF

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

于 2016-02-12T13:46:34.820 回答
11
cat > filename.txt

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

如果您想阅读该 .txt 文件,请使用

cat filename.txt

还有一件事 .txt 不是强制性的,供您参考。

于 2015-08-24T15:09:33.297 回答
6

你也可以这样做:

user@host: $ cat<<EOF > file.txt
$ > 1 line
$ > other line
$ > n line
$ > EOF
user@host: $ _

我相信有很多方法可以使用它。

于 2018-03-22T20:57:33.807 回答
5

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

echo -e "
Home Directory: $HOME \n
hello world 1 \n
hello world 2 \n
line n... \n
" > file.txt 
于 2018-05-04T17:37:16.517 回答
5

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

cat >file.txt <<< Write something here
于 2018-10-30T15:47:01.987 回答
4

您的问题的解决方案是:

echo " Some Text Goes Here " > filename.txt

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

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

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

于 2018-10-31T10:57:53.437 回答
3

简单地用 cat 管道回显

例如

echo write something to file.txt | cat > file.txt
于 2018-10-24T15:00:06.193 回答
2

cat也可以在 a 之后|用于写入文件,即管道向 cat 提供数据流

于 2015-11-03T04:26:13.670 回答
0

对于我在 MacOS 11.4 上的 Jenkins

{
   echo 'line 1' $var1
   echo 'line 2'
   echo 'result' $var5

} > ${destination_file}

我已经通过cat语法尝试了很多次,例如:cat > ${dest_file} <<EOF ... EOF,并得到了错误syntax error: unexpected end of file。因此,我使用echo语法将多行文本输出到文件。

参考:

于 2021-08-30T08:15:02.393 回答