Linux Curl/sed命令未正确处理输入

Linux Curl/sed命令未正确处理输入,linux,macos,curl,sed,Linux,Macos,Curl,Sed,我很难让它做我想做的事情 read -p "URL to read: " U read -p "Word to fin: " O read -p "Filename: " F curl -O $U | sed "s/\<$O\>/\*$O\*/g" > $F.txt read-p”URL改为:“U 读-p“单词到fin:”O 读取-p“文件名:”F curl-O$U|sed“s/\/\*$O\*/g”>$F.txt 因此,基本上我想要的是使用curl从url获取.tx

我很难让它做我想做的事情

read -p "URL to read: " U

read -p "Word to fin: " O

read -p "Filename: " F

curl -O $U | sed "s/\<$O\>/\*$O\*/g" > $F.txt
read-p”URL改为:“U
读-p“单词到fin:”O
读取-p“文件名:”F
curl-O$U|sed“s/\/\*$O\*/g”>$F.txt
因此,基本上我想要的是使用
curl
从url获取
.txt
文件,然后对其进行排序以找到用户输入指定的单词。然后用
*
标记所有这些单词,并将它们放入用户指定的文件中。 几乎完全相同的代码在Linux中工作,但在我的Mac上不工作。有人有主意吗

两个问题:

  • -O
    使
    curl
    存储下载的文件,而不是将其输出到
    stdout
  • 单词边界元字符
    \
    是GNU。在BSD
    sed
    上,您可以使用
    [[[::]]
这应该适用于OSX:

curl "$U" | sed "s/[[:<:]]$O[[:>:]]/\*$O\*/g" > $F.txt
curl“$U”| sed“s/[[::]/\*$O\*/g”>$F.txt

哦,好的。我没有说明的问题是,它仍然在存储整个http://....../ 新文件中的txt文件。它找不到我想找的词。。非常感谢,这很有帮助!