2017-10-25 6 views
1

私がしたいことをするためにこれを行うことにいくつか問題があります。だから、基本的に私が欲しいもの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 

は、ユーザ入力によって指定された単語を見つけるために、それを介して並べ替えた後、URLから.txtファイルを取得するためにcurlを使用することです。その後、これらの単語にすべて*とマークし、ユーザーが指定したファイルに入れます。 ほとんど同じコードがLinuxで動作しますが、これは私のMacでは動作しません。誰でもアイデアがありますか?

答えて

1

2つの問題:

  • -Ocurlストアダウンロードしたファイルを作成、stdoutない出力こと。
  • ワード境界メタキャラクタ\<および\>は、GNU extensionです。 BSD sedでは、代わりに[[:<:]][[:>:]]を使用できます。これはOSX上で動作するはず

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

ああ、OK。私がしなかった問題は、私が指定しなかったことは、新しいファイルにhttp://....../ txtファイル全体を保存しているということです。それは私が見つけようとしている言葉を見つけることはありません.. これは本当にありがとう、これは助け! – Theskils

関連する問題