2

文字列の最後の 20 文字を出力する必要がありますが、単語全体だけです。区切り文字はスペース「」です。この例を考えてみましょう:

string="素早い茶色のキツネが怠け者の犬を飛び越える"
echo $string | テール-c20

戻りますs over the lazy dog。そして、代わりに返す必要がありover the lazy dogます。それを達成する方法を知っていますか?ありがとう!

4

3 に答える 3

3
echo $string | perl -ne 'print "$1\n" if /\b(\S.{0,20})$/'
于 2010-04-10T11:41:39.133 に答える
2
echo $string | rev | cut -d ' ' -f -20
于 2010-04-10T11:49:27.283 に答える
1

これは、外部プログラムを使用せずに Bash > 3.2 で動作します。

[[ $string =~ \ (.{0,20})$ ]]
result="$BASH_REMATCH[1]"

UdiM の grepバージョンをベースに使用しました。

于 2010-04-10T13:50:57.817 に答える