LoginSignup
3
4

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-01-03

コマンド

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"

3
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4