小编bla*_*nJa的帖子

在 For 循环中使用 Grep

/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)

scripting bash shell-script

3
推荐指数
1
解决办法
4万
查看次数

如果第一个字段包含点,则提取一行

实际数据是:

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)

command-line text-processing

2
推荐指数
2
解决办法
148
查看次数

逐行读取文件并放入其他字符串

我想逐行读取文件并将其内容放在特定位置的其他字符串中。我创建了以下脚本,但无法将文件内容放入该字符串中。

文件: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)

linux scripting shell-script

2
推荐指数
1
解决办法
1346
查看次数