特定の文字列を削除するUNIXコマンド


コマンド

delコマンド
function del(){
    sed "s/$1//g" </dev/stdin
}

※「</dev/stdin」はなくても可!入れる意味なし!

結果

$ echo "No1にならなくてもいい。No2じゃダメなんですか?" | del "No2じゃダメなんですか?"
No1にならなくてもいい。

$ echo "Qiitaa" | del "a$"
Qiita

.bashrcに入れよう

tr -dだと「文字列」を削除することができないので、特定の文字列を削除したいことがよくある人は.bashrcにdelコマンドを入れておくと便利です。

自分用のdelコマンドを作ろう

しかし、.bashrcに入れた場合…他のシェルスクリプトから「del」を呼んでも機能しません。(最近気付きました)
他のシェルスクリプトからdelコマンドを呼びたい場合は、下記のようなシェルスクリプトを作成し、実行権限を付与した上で、echo $PATHして出てくるフォルダのどれかに入れましょう。そうすることで、他のシェルスクリプト内からdelコマンドを呼び出すことが出来ます。

del
#!/bin/sh

#
# del 文字列を削除するスクリプト
#

sed "s/$1//g"