在不使用io重定向的情况下,从命令行将文本附加到文件

apo*_*020 55 linux file-io command-line

如何在不使用io重定向的情况下通过单行命令在文件中附加文本?

tas*_*oor 61

如果你不介意使用sed那么,

$ cat test 
this is line 1
$ sed -i '$ a\this is line 2 without redirection' test 
$ cat test 
this is line 1
this is line 2 without redirection

由于文档可能需要很长时间才能完成,因此可以解释一下:

  • -i 表示就地转换,因此所有更改都将在您指定的文件中进行
  • $ 用于指定最后一行
  • a 意味着追加一条线
  • \ 简单地用作分隔符


Joe*_*ger 5

如果你只是想亲自动手,那么sed答案对你有用.如果相反,文本在文件中(比如file1.txt和file2.txt):

使用Perl:

perl -e 'open(OUT, ">>", "outfile.txt"); print OUT while (<>);' file*.txt

NB虽然>>可能看起来像重定向的指示,但它只是文件打开模式,在这种情况下是"追加".


Ond*_*žka 5

您可以使用--append以下功能tee

cat file01.txt | tee --append bothFiles.txt 
cat file02.txt | tee --append bothFiles.txt 
Run Code Online (Sandbox Code Playgroud)

或者更短,

cat file01.txt file02.txt | tee --append bothFiles.txt 
Run Code Online (Sandbox Code Playgroud)

我假设不重定向()的请求>>来自于需要在xargs或类似中使用它。因此,如果这不算数,您可以使用 使输出静音>/dev/null