2016-04-12 17 views
0

をフィルタリングするために、 " - " と ( "A" "BC" "KJ")を取得し(」 -d "" -f ")である。どのように私は私が始まるかどうかによってフィルタリングするbashの配列</p> <pre><code>X=("a" "b c" "-d" "k j", "-f") </code></pre> <p>があるとbashの配列

どうすれば実現できますか?

+0

http://stackoverflow.com/questions/16483119/example-of-how-to-use([getopts' '使用します] -getopts-in-bash)を使用して引数を解析します。 – Amadan

答えて

2

私はあなたが配列を反復処理する必要があると思う:

$ X=("a" "b c" "-d" "k j", "-f") 
$ for elem in "${X[@]}"; do [[ $elem == -* ]] && with+=("$elem") || without+=("$elem"); done 
$ printf "%s\n" "${with[@]}" 
-d 
-f 
$ printf "%s\n" "${without[@]}" 
a 
b c 
k j, 
関連する問題

 関連する問題