/home/errorcodes
包含:
421 RP-001
421 RP-002
421 RP-003
550 SC-001
550 SC-002
550 SC-003
550 SC-004
550 DY-001
550 DY-002
550 DY-001
550 OU-001
550 OU-002
Run Code Online (Sandbox Code Playgroud)
脚本:
#!/bin/bash
Elogs=/home/elogs.txt
Errors=/home/errorcodes
for i in `cat $Errors`; do
#Get Error Logs
grep "$i" /home/eximlog >> $Elogs
done
Run Code Online (Sandbox Code Playgroud)
调试:
+ cat /home/errorcodes
+ for i in '`cat $Errors`'
+ grep 421 /home/eximlog
+ for i in '`cat $Errors`'
+ grep RP-001 /home/eximlog
+ for i in '`cat $Errors`'
+ grep 421 /home/eximlog
+ …
Run Code Online (Sandbox Code Playgroud) 实际数据是:
Dolibarr techpubl http://techpublications.org/erp
tekstilworks.com WordPress tekstilw
wbq.dandydesigns.co WordPress cbeqte
WordPress cbeqte http://wbq.dandydesigns.co
WordPress cbeqte http://qbd.dandydesigns.co
WordPress cbeqte http://uqdq.dandydesigns.co
dandydesigns.co WordPress cbeqte
stunlockers.info WordPress nmmuop
Run Code Online (Sandbox Code Playgroud)
我想得到什么:
tekstilworks.com WordPress tekstilw
wbq.dandydesigns.co WordPress cbeqte
dandydesigns.co WordPress cbeqte
stunlockers.info WordPress nmmuop
Run Code Online (Sandbox Code Playgroud) 我想逐行读取文件并将其内容放在特定位置的其他字符串中。我创建了以下脚本,但无法将文件内容放入该字符串中。
文件:cat /testing/spamword
spy
bots
virus
Run Code Online (Sandbox Code Playgroud)
脚本:
#!/bin/bash
file=/testing/spamword
cat $file | while read $line;
do
echo 'or ("$h_subject:" contains "'$line'")'
done
Run Code Online (Sandbox Code Playgroud)
输出:
or ("$h_subject:" contains "")
or ("$h_subject:" contains "")
or ("$h_subject:" contains "")
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的:
or ("$h_subject:" contains "spy")
or ("$h_subject:" contains "bots")
or ("$h_subject:" contains "virus")
Run Code Online (Sandbox Code Playgroud)