当我在脚本中使用此命令时:
grep -A 12 -B 37 "1000221411" /home/ashb/20181007/soap_nohup_20181007_0*.log | awk '{$1=""}1' > abcdef.txt
但是当我尝试放置变量以在日志文件中找到更多id时:
grep -A 12 -B 37 ${b} /home/ashb/20181007/soap_nohup_20181007_0*.log | awk '{$1=""}1' > abcdef.txt
然后abcdef.txt变成空文件。
我尝试echo ${b}
,它就在我的路上。
我该如何解决?
${b}
的输入:
1000221411
1000248725
1000287875
1000296552
答案 0 :(得分:0)
您似乎正在尝试这样做:
$ cat file
foo
1000221411
bar
1000296552
$ echo "$b"
1000221411
1000248725
1000287875
1000296552
$ grep -f <(echo "$b") file
1000221411
1000296552
答案 1 :(得分:0)
由于${b}
包含 9 个数字,因此似乎是{em> meant 数组。上面代码的问题是:
${b}
未引用,因此grep
的 8 参数过多。
如果引用了${b}
,则grep
只会找到相同顺序的 9 个数字。但是grep
在文件中只有个的文件中找不到任何内容。