在一堆行中添加一些文字

sha*_*nuo 0 sed

第一个命令按预期工作,但不是第二个命令.我想在开头或结尾添加一些文本.

# grep `date +'%y%m%d'` /var/log/mysqld.log
100101 10:56:00  mysqld started
100101 10:56:02  InnoDB: Started; log sequence number 1 2052750649

# sed 's/^/computer /g' < grep `date +'%y%m%d'` /var/log/mysqld.log
bash: grep: No such file or directory

# expected output
computer 100101 10:56:00  mysqld started
computer 100101 10:56:02  InnoDB: Started; log sequence number 1 2052750649
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 6

当您使用输入重定向编写它时,它会查找grep当前目录中调用的文件并尝试读取其内容,而不是执行它.您需要使用管道:

grep `date +'%y%m%d'` /var/log/mysqld.log | sed 's/^/computer /'
Run Code Online (Sandbox Code Playgroud)

我也从你的sed中删除了'g'修饰符,因为它完全没必要.