bashで右から何文字か削除する

基礎的な内容な割に案外、本に載っていないので
投稿。
下の例は右から一文字削除。

$ str="abcedfg*"
$ echo $str |  rev | cut -c 2- | rev

revで反転させた後に、
削除する必要がある。

別解)

$ str="abcedfg*"
echo $str | sed 's/.$//'

こちらは正規表現を使って削除することになる。

正規表現を使った方法のほうが、シンプルになるが、
目にやさしいのはrevを使ったほうになるか。


Powershellの場合
C#のStringクラスの関数を使う方法もあるが、
正規表現を使う下の方法が一番シンプル。
$str = "abcedfg*"

$str -replace ".$", ""


コメント

人気の投稿