1

Install ID:sedを使用して、「 」とその後の最初のスペースの間の4文字を取得するにはどうすればよいですか。基本的に、「 」文字列XKCDを抽出します。XKCD

Install ID:          XKCD (8426200,8179503)

使ってみました-

 echo "Install ID:          XKCD (8426200,8179503)" | sed -n 's/^.*ID:\(.*\)*$/\1/p'

しかし、それは私XKCD (8426200,8179503)に単なるの代わりに「」を与えますXKCD。スペース部分の手渡し方がわかりません。

4

2 に答える 2

3

あなたの試みに対するいくつかのマイナーな改訂:

echo "Install ID:          XKCD (8426200,8179503)" | sed -n 's/^.*ID: *\([^ ]*\) .*$/\1/p'

また

echo "Install ID:          XKCD (8426200,8179503)" | awk '{print $3}'
于 2012-06-11T23:57:00.743 に答える
0
 test="Install ID:          XKCD (8426200,8179503)"
 echo $test | sed -re 's/^.*\:\s+([A-z]{4}).*/\1/'

または:コロンの前のすべてを無視し、コロンの後のスペースを無視し、スペースの後に4つの文字を取得し、その後のすべてを無視します。ただし、文字に数字やその他のものが含まれている場合、現在は失敗します(角括弧内のリストにそれらを追加する必要があります)。

于 2012-06-11T23:52:39.627 に答える