【Linux】コマンドの実行結果にある文字列を記号に置換する方法


この記事はプロモーションを含みます。

Linux

Linux環境にて、コマンドの実行結果にある特定の文字列を記号に置き換える方法を解説します。

はじめに

コマンドの実行結果にある文字列を記号に置き換える際、trコマンドを使用しましたが、正常に動作しなかったため、sedコマンドを使用する方法を説明したいと思います。

上記で、正常に動作しなかったというお話をしましたが、詳しくは以下のような挙動となりました。

  • TeraTermで文字を入力する際、入力位置がズレる
  • TeraTermで文字を消す際、途中までしか消せなくなる

本事象が発生したTeraTermのバージョンは「4.105」です。
TeraTermのバージョンによっては発生しないのかもしれません。

また、テキストエディタなどでコマンドを作成し、それをTeraTerm上に貼り付けて実行する場合は問題ないようです。

文字を記号に置換する

ここでは、sedコマンドを使用して、ある文字を記号に置き換える方法を説明します。

例として、「b」を「★」に置き換えてみます。

[root@STKPUB002 data]# echo abcabcabc | sed s/b/★/g
a★ca★ca★c

文字列を記号に置換する

ここでは、sedコマンドを使用して、ある文字列を記号に置き換える方法を説明します。

例として、「bc」を「■」に置き換えてみます。

[root@STKPUB002 data]# echo abcdabcdabcd | sed s/bc/■/g
a■da■da■d

半角スペースを記号に置換する

ここでは、sedコマンドを使用して、半角スペースを記号に置き換える方法を説明します。

例として、半角スペースを「♪」に置き換えてみます。

[root@STKPUB002 data]# ls -l | sed s/" "/♪/g
合計♪8
drwxr-xr-x.♪2♪syutaku♪syutaku♪♪♪6♪♪3月♪31♪23:56♪dir1
drwxr-xr-x.♪2♪syutaku♪syutaku♪♪♪6♪♪3月♪31♪23:56♪dir2
drwxr-xr-x.♪2♪syutaku♪syutaku♪♪♪6♪♪3月♪31♪23:56♪dir3
-rw-r--r--.♪1♪syutaku♪syutaku♪♪81♪♪3月♪31♪23:58♪file1.txt
-rw-r--r--.♪1♪syutaku♪syutaku♪♪♪0♪♪3月♪31♪23:56♪file2.txt
-rw-r--r--.♪1♪syutaku♪syutaku♪♪♪0♪♪3月♪31♪23:56♪file3.txt
-rw-r--r--.♪1♪root♪♪♪♪root♪♪♪♪379♪♪4月♪♪3♪09:18♪test.txt

コメント

タイトルとURLをコピーしました