用于指定文件的命令是什么?文件中按该顺序包含哪些文本而不重复?

用于指定文件的命令是什么?文件中按该顺序包含哪些文本而不重复?

我正在寻找制作文件的完美方法。我想首先指定文件名我想指定该文件的文本内容。我想在一个控制台行中完成它。我不想重新输入文件名。理想的

答案1

只需将重定向放在命令之前即可:

>filename.txt printf '%s\n' "This is the first line" "This is the second line" 'This line has "double-quotes"' '' 'That fourth line is empty' '"I don'\''t think I can avoid using both types of quotes," she said.'

实际上,您可以将重定向放在命令中的任何位置,因此以下内容可能看起来“更自然”(尽管效果完全相同):

printf '%s\n' >filename.txt "This is the first line" "This is the second line" 'This line has "double-quotes"' '' 'That fourth line is empty' '"I don'\''t think I can avoid using both types of quotes," she said.'

答案2

定义你自己的函数,例如
function createFile() { echo "$2" > $1; }
然后调用它:
createFile myFile.txt "here the text content"

答案3

cat >filename <<'END'
contents contents
contents contents
END

这将调用该cat命令,将其输出重定向到您要创建(或覆盖)的文件,并从由单词 分隔的带引号的多行here-document 重定向文件内容END

对于单行文本,您可以在以下位置使用此处字符串bash

cat >filename <<<"this is the contents"

如果只是将文本从剪贴板粘贴到文件中,请cat >filename在命令行中使用,然后将数据粘贴到终端中并以Ctrl+D.

相关内容