将信息附加到多个文件

时间:2015-03-12 04:38:44

标签: linux shell unix

我正在学习基本的Linux命令,并且我遇到了一些关于一次将日期附加到多个文件的问题。问题是:

"从大写字母翻译为小写字母,filex的前20行。将已排序的输出附加到file10并将所有错误追加到文件error_log。" 它说要放入命令行的命令是:

$ head -20 filex | tr 'A-Z' 'a-z' | sort >> file10 >>> error_log

我不明白为什么它有3 >>>当"将所有错误附加到文件error_log"由于>表示要覆盖,>>表示要追加,这是添加数据的补充,还是2 >而不是3 >。 请帮忙

2 个答案:

答案 0 :(得分:1)

以下是您问题的标题,而不是其正文:

使用tee将一些文字附加到多个文件中:

{ date; echo "hello world"; } | tee -a file1 file2 file3

答案 1 :(得分:0)

命令行中没有>>>的用法。它给出了-bash: syntax error near unexpected token>' `错误。

正确使用

$head -20 filex 2>> error_log | tr 'A-Z' 'a-z' | sort >> file10

2>>会将所有std错误重定向到error_log文件。您可以在要收集error_log的命令之后使用2>>

0 - for std input
1 - for std output
2 - for std error.

2>&1 and 1>&2这些命令会将std out和stderr重定向到指定的文件。