GNU/Linux >> Linux の 問題 >  >> Linux

bashでリストから要素を取得する方法は?

等号の間にスペースを入れないでください

$ List="abcd 1234 jvm something"
$ set -- $List
$ echo $2
1234

シェルの内部を使用するほど効率的ではありませんが、他の方法

$ echo $List | cut -d" " -f2
1234
$  echo $List | awk '{print $2}'
1234
$ echo $List | sed 's/^.[^ \t]* //;s/ .*//'
1234
$ echo $List | tr " " "\n"|sed -n '2p'
1234

ゴーストドッグの答えを補足するために、 $List を置くこともできます の要素を配列に入れ、そこから特定のリスト要素にアクセスします

List="abcd 1234 jvm something"
arr=($List)
echo ${arr[1]}

配列インデックスは 0、1、2、... とカウントされることに注意してください。

これには、あまりにも多くの新しい変数でシェル環境を汚染しないという利点があります。


Linux
  1. PythonGDB (GDB 7.1) で gdb.execute から出力を取得するには?

  2. Bashの配列から一意の値を取得するにはどうすればよいですか?

  3. bashでループの終了ステータスを取得する方法

  1. 親プロセスから子プロセスを取得する方法

  2. IP (Linux) からホスト名を取得するには?

  3. zip内のディレクトリのリストを取得するには?

  1. bashで文字列から最後の数字を取得するにはどうすればよいですか?

  2. bashからネットマスクを取得するには?

  3. コマンドラインから IP アドレスを取得するにはどうすればよいですか?