0

script

#!/bin/bash
log_path="/home/user/scripts/log-extract/log_samples/"
g="Apache_2k.log"
joined=" | grep -EHwi 'mod_jk' | grep -EHwi 'Dec 04'"
cat -- $log_path$g $joined # test1
echo cat -- $log_path$g $joined # test2

bash output (Fails: e.g., Dec 05 should not be grep)

[Mon Dec 05 19:15:57 2005] [notice] workerEnv.init() ok /etc/httpd/conf/workers2.properties
[Mon Dec 05 19:15:57 2005] [error] mod_jk child workerEnv in error state 6cat: '|': No such file or directory
cat: grep: No such file or directory
cat: -EHwi: No such file or directory
cat: "'mod_jk'": No such file or directory
cat: '|': No such file or directory
cat: grep: No such file or directory
cat: -EHwi: No such file or directory
cat: "'Dec": No such file or directory
cat: "04'": No such file or directory
cat -- /home/user/scripts/log-extract/log_samples/Apache_2k.log | grep -EHwi 'mod_jk' | grep -EHwi 'Dec 04'

command line test (Success: 'mod_jk' AND 'Dec 04')

$ cat -- /home/user/scripts/log-extract/log_samples/Apache_2k.log | grep -EHwi 'mod_jk' | grep -EHwi 'Dec 04'
(standard input):(standard input):[Sun Dec 04 20:47:17 2005] [error] mod_jk child init 1 -2
(standard input):(standard input):[Sun Dec 04 20:47:17 2005] [error] mod_jk child workerEnv in error state 7
(standard input):(standard input):[Sun Dec 04 20:47:17 2005] [error] mod_jk child init 1 -2

What should be the correct way to code it in bash?

busterSg
  • 27
  • 5

0 Answers0