文字列を切り取り、コンマが最初に出現した後に変数に代入したいとします。指定されたパターン(カンマ)の後に文字列を切り取る
my_string="a,b,c,d,e,f"
期待出力:私はコマンド
output=`echo $my_string | cut -d ',' f2
を使用する場合
output="b,c,d,e,f"
私だけb
出力としてを取得しています。
文字列を切り取り、コンマが最初に出現した後に変数に代入したいとします。指定されたパターン(カンマ)の後に文字列を切り取る
my_string="a,b,c,d,e,f"
期待出力:私はコマンド
output=`echo $my_string | cut -d ',' f2
を使用する場合
output="b,c,d,e,f"
私だけb
出力としてを取得しています。
F $
B、C、D、Eを、エコー。パラメータ展開の代わりに、cut
で
$ echo "a,b,c,d,e,f,g"|cut -d, -f2-
b,c,d,e,f,g
これは、 '-f'がフィールドの* ranges *を取ることができるためです。範囲の最後を指定しないと、範囲は最後のフィールドまで続きます。 –
あなたが探している位置の後にマイナス記号( - )を追加する必要があります。 ' - ' あなた-f2意志出力の末尾に文字列の残りの部分を
a=`echo $my_string|cut -d "," -f 2-`
はダッシュを追加
:
$ my_string="a,b,c,d,e,f"
$ output="${my_string#*,}"
$ echo "$output"
b,c,d,e,f
${my_string#*,}
は(Bash manualを参照してください) "へとmy_string
から最初のカンマまでを含むすべてのものを削除する" の略です。
[変数を引用してください](https://unix.stackexchange.com/questions/171346/security-implications-of-forgetting-to-quote-a-variable-in-bash-posix-shells) - 'エコー "$ my_string" | ... –