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 回答