0

次のような内容のテキスト ファイルを自動的に解析したいと考えています。

car 12345 W
train 54321 D

新しい bash ファイルに統合されます。その後のコンテンツは次のようになります。

curl http://example.com/?vehicle=car&number=12345&period=W
curl http://example.com/?vehicle=train&number=54321&period=D

私の問題は、それを実現する方法や、sed、awkなどを使用するプログラムが本当にわからないことです.

どうすればいいですか?

4

3 に答える 3

5

おそらく最も面白い答えは次のとおりです。ファイルがfile.txtであると仮定して、次のようにします。

printf 'curl http://example.com/?vehicle=%s&number=%s&period=%s\n' $(<file.txt)

これ:

  • 100% 純粋な bash です。
  • 明示的なループはありません
  • 最短の答えです
  • 非常に面白いです

お役に立てれば:)

于 2013-09-14T19:55:02.190 に答える
4

これを試して:

while read vehicle number period ; do
    echo curl http://example.com/\?vehicle="$vehicle"\&number="$number"\&period="$period"
done < input.txt
于 2013-09-14T19:35:33.853 に答える
2

おそらくsed、URL 引数を他の部分とインターリーブするために使用します。投稿したサンプルからの推測:

sed 's/\([a-z]*\) \([0-9]*\) \([A-Z]\)/curl http:\/\/example.com\/?vehicle=\1\&number=\2\&period=\3/'
于 2013-09-14T19:35:51.510 に答える