Ksh
按分隔符拆分字元串並獲取第 N 個元素
我有一個字元串:
one_two_three_four_five
我需要從上面的字元串中保存一個變數
A
值two
和變數B
值four
我正在使用 ksh。
使用
cut
with_
作為欄位分隔符並獲取所需欄位:A="$(cut -d'_' -f2 <<<'one_two_three_four_five')" B="$(cut -d'_' -f4 <<<'one_two_three_four_five')"
您還可以使用
echo
和管道代替 Here 字元串:A="$(echo 'one_two_three_four_five' | cut -d'_' -f2)" B="$(echo 'one_two_three_four_five' | cut -d'_' -f4)"
例子:
$ s='one_two_three_four_five' $ A="$(cut -d'_' -f2 <<<"$s")" $ echo "$A" two $ B="$(cut -d'_' -f4 <<<"$s")" $ echo "$B" four
請注意,如果
$s
包含換行符,則將返回一個多行字元串,其中包含 的每行中的第2/4個欄位$s
,而不是 中的第2/4個欄位。$s