Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在输出到不同的文件之前,如何跟踪日志文件并在每一行添加command:word?_Bash_Shell - Fatal编程技术网

Bash 在输出到不同的文件之前,如何跟踪日志文件并在每一行添加command:word?

Bash 在输出到不同的文件之前,如何跟踪日志文件并在每一行添加command:word?,bash,shell,Bash,Shell,尝试使用$installingFil跟踪和grep某些日志,并在$DNLOG文件中的输出之前添加命令:word,但文件为空/private/tmp/DownLog.log 正确的做法是在每行之前回显“Command:” 我无法在/private/tmp/DownLog.log中输出的每一行之前添加/echo“命令:”word 比如:- Command: bla bla Command: downloding finish 纸条- #!/bin/bash downFil=$(tail -f

尝试使用
$installingFil
跟踪和grep某些日志,并在
$DNLOG
文件中的输出之前添加
命令:
word,但文件为空/private/tmp/DownLog.log 正确的做法是在每行之前回显“Command:”

我无法在/private/tmp/DownLog.log中输出的每一行之前添加/echo
“命令:”
word

比如:-

Command: bla bla   
Command: downloding finish
纸条-

#!/bin/bash
downFil=$(tail -f /var/log/system.log | grep 'Downloading files of')
        
dLog="/private/tmp/DownLog.log"
        
if [ -f /var/log/system.log ]; then
 echo "Command:" "$downFil" >> "$dLog" # dLog is blank
else
 echo "Command: Please wait.." >> $dLog # this works fine
fi

 

如果我理解正确,您应该尝试:

tail -f /var/log/system.log | grep 'Downloading files of' | sed 's/^/Command: /' >> /private/tmp/DownLog.log

您能否发布/var/log/system.log的摘录以及您正试图实现的目标。@RamanSailopal我正在尝试从/var/log/system.log文件中删除所有包含“下载的文件”的行,并在/private/tmp/DownLog.log中输出,启动命令:示例:-命令:下载bla-bla-clash-where文件”bla bla bla clash“来自downFil grip和echo,但我无法添加”命令:“在/private/tmp/DownLog中输出的每一行前面的字。log@Skull:Raman Sailopal要求您发布输入样本和输出样本。相反,您描述了所需的输出。请不要这样做:通过输入和输出的示例,我们更容易理解您想要什么。您可以将
grep
sed
命令组合成一个命令:
sed'/Downloading files of/s/^/command:/'
@Socowi或者更确切地说
sed-n'/Downloading files/^/command:/当然是p'
@M.NejatAydin。感谢您添加缺少的
-n
/p