gpt4 book ai didi

Linux Bash 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:58 26 4
gpt4 key购买 nike

我想在 Linux 中使用以下命令编写一个 bash 脚本 AWK SED grep curl 查找特定的单词然后对其进行计数。

这是我的脚本:

#!/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}' 示例 | grep -o“哇”| grep -c "WOW" 我得到了正确的答案。

这是我的示例文件(但我的真实文件非常复杂):

WOW1wow
linklinkend
wow1WOWwow123WOW
testtestend
WOWWwow
link WOW test testend linkend wow
WOW2wow
link WOW 123 wow linkend
  1. 尝试使用 awk '/test/{f=1}/link/{g=1}/WOW/{h=1} !f && !g && h;/testend/{f=0}/linkend/{g=0}/wow/{h=0}' 示例 | grep -o“哇”| grep -c "WOW"example 结果是5
  2. 尝试使用 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"example 结果是 4
  3. 尝试使用脚本结果为0

正确答案是5

我认为问题在于如何在脚本中将 urlsou 变量传递给 AWK 或者如何为 urlsource 创建临时文件。

我的问题是什么,如何在没有任何编程语言或额外命令的情况下解决它?

最佳答案

尝试这样做:

#!/bin/bash

echo "URL:"
read url
urlsou=$(curl -s "$url")
# \b is "word boundaries"
result=$(sed 's/\b/\n/g' <<< "$urlsou" | grep -c WOW)
echo "Total :" "$result"

您提到您不想学习另一种语言,好吧。但要知道这只是一个快速而肮脏的脚本,仅此而已。

关于Linux Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19646103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com