私はこれらのような文字列を持っている:セッド無効な範囲の終了
volume 5
vol. 5
V. 5
v. 5
私はこのフォーマットにそれらを有効にしようとしている:このsedコマンドで
\textbf{5}
s/\(v[a-Z]*[.]*\) \([0-9]*\)/\1 \\textbf{\2}/
が、私はinvalid range end
を得続けます。 0-9の範囲で何か問題がありますか?
私はこれらのような文字列を持っている:セッド無効な範囲の終了
volume 5
vol. 5
V. 5
v. 5
私はこのフォーマットにそれらを有効にしようとしている:このsedコマンドで
\textbf{5}
s/\(v[a-Z]*[.]*\) \([0-9]*\)/\1 \\textbf{\2}/
が、私はinvalid range end
を得続けます。 0-9の範囲で何か問題がありますか?
ASCIIテーブルをチェックすると、a
の値がZ
の値よりも高いことがわかります。これは無効な範囲を作成します。
echo 'volume 5' | sed 's/\(v[a-z]*[.]*\) \([0-9]*\)/\1 \\textbf{\2}/i'
echo 'vol. 5' | sed 's/\(v[a-z]*[.]*\) \([0-9]*\)/\1 \\textbf{\2}/i'
echo 'V. 5' | sed 's/\(v[a-z]*[.]*\) \([0-9]*\)/\1 \\textbf{\2}/i'
echo 'v. 5' | sed 's/\(v[a-z]*[.]*\) \([0-9]*\)/\1 \\textbf{\2}/i'
volume \textbf{5}
vol. \textbf{5}
V. \textbf{5}
v. \textbf{5}
あなたはデモを見ることができます、それは動作します。 –
'[A-z]' => '[a-zA-Z]'を変更して、問題が解決しました。ありがとうございます! –
これは私の仕事::
はsed -r "s/([vV][a-zA-Z]*[.]*) ([0-9]*)/\1 \\\textbf{\2}/"
'aZ'は'-はZa - でなければなりません。また、あなたは、大文字と小文字を区別しないパターンを必要とし、
/i
修飾子を追加Z' – anubhava多分http://ideone.com/vajhPy? –
LANG変数はどのように設定されていますか? en_US.UTF-8(Cならば)に設定してみてください。 –