我想在Linux中使用下面的命令编写一个bash脚本AWK
SED
grep
curl
找到一个特定的Word,然后对它进行计数。Linux Bash脚本
这里是我的脚本:
#!/bin/sh
echo "URL:"
read url
urlsou=$(curl -s "$url")
result=$(awk '/test/ {f=1} /link/ {g=1} /WOW/ {h=1} !f && !g && h; /testend/ {f=0} /linkend/ {g=0} /wow/ {h=0}' | grep -o "WOW" | grep -c "WOW")
echo "Total :" "$result"
我得到0时,我用我的剧本,但我只用AWK
命令如下AWK
与具有HTML源awk '/test/ {f=1} /link/ {g=1} /WOW/ {h=1} !f && !g && h; /testend/ {f=0} /linkend/ {g=0} /wow/ {h=0}' example | grep -o "WOW" | grep -c "WOW"
我得到正确的答案文件。
这里是我的示例文件(但我真正的文件是很复杂):
WOW1wow
linklinkend
wow1WOWwow123WOW
testtestend
WOWWwow
link WOW test testend linkend wow
WOW2wow
link WOW 123 wow linkend
- 尝试用
awk '/test/ {f=1} /link/ {g=1} /WOW/ {h=1} !f && !g && h; /testend/ {f=0} /linkend/ {g=0} /wow/ {h=0}' example | grep -o "WOW" | grep -c "WOW" example
结果 - 与
awk '/test/ {f=1} /link/ {g=1} /WOW/ {h=1} !f && !g && h; /testend/ {f=0} /linkend/ {g=0} /wow/ {h=0}' example | grep -o "WOW" example
结果尝试在 - 试用脚本的结果是
正确答案是5
我在想一个问题是我怎么能变量传递urlsou到AWK脚本或者我如何可以创建urlsource临时文件。
我的问题是什么?我怎样才能修复它,而无需任何编程语言或额外的命令?
欢迎堆栈溢出!我很抱歉,但是我完全不清楚你在问什么。也许你可以尝试以不同的方式表述它?谢谢。 –
您的'结果'行没有任何输入作为您的测试行,使用'example'作为输入。例如:'result = $(awk'/ test/{f = 1}/link/{g = 1}/WOW/{h = 1}!f &&!g && h;/testend/{f = 0}/linkend /例如| grep -o“WOW”| grep -c“WOW”| grep -o“WOW”| grep -c“WOW”)' – Jotne