Tukubaiオンラインコマンドマニュアル - fsed(1)

fsed(1)

【名前】

fsed : フィールドの文字列の置換

【書式】

Usage   : fsed [-e|-i] 's/<org>/<new>/<n>'... <file>
Version : Sun Feb 21 04:35:05 JST 2021
Edition : 1

【説明】

ファイル<file>のフィールド<n>の中で、文字列<org>を文字列<new>に置換します。<n>'g'を指定すると、全フィールドの指定になります。

-eオプションを使うと<org>を正規表現と解釈します。-iオプションを使うと大文字/小文字を区別しない正規表現になります。

置換指定は複数指定できます。この場合、-e/-iオプションは、正規表現を使う置換指定毎に指定する必要があります。

【例1】

第1フィールドの tokyo を TOKYO に、第3フィールドの osaka をOSAKAに置換します。

$ cat data1
tokyo 1234 tokyo 5678
osaka 1234 osaka 5678
$ fsed 's/tokyo/TOKYO/1' 's/osaka/OSAKA/3' data1
TOKYO 1234 tokyo 5678
osaka 1234 OSAKA 5678

【例2】

全フィールドの tokyo を yokohama に置換します。

$ fsed 's/tokyo/yokohama/g' data1
yokohama 1234 yokohama 5678
osaka 1234 osaka 5678

【例3】

正規表現を使います。

$ cat data3
Tokyo 1234
tokyo 5678
TOKYO 7777
$ fsed -e 's/^[Tt]okyo$/東京/1' data3
東京 1234
東京 5678
TOKYO 7777

【例4】

大文字/小文字を区別しない正規表現を使います。

$ fsed -i 's/^tokyo$/東京/1' data3
東京 1234
東京 5678
東京 7777

【例5】

複数の置換指定を使います。

$ fsed 's/tokyo/横浜/1' -i 's/tokyo/川崎/1' data3
川崎 1234
横浜 5678
川崎 7777

【例6】

置換指定の区切り文字'/'を置換対象にする場合。

$ cat data6
001 /home/MANUAL/TOOL/fsed.txt

data6 の中で、'/''-'に置換する場合、置換指定の区切り文字を'/'以外の文字(本例では',')にします。この文字には、任意の ASCII 文字を指定できます。

$ fsed 's,/,-,2' data6
001 -home-MANUAL-TOOL-fsed.txt

区切り文字は'/'のままにしておいて、パターン中の'/''\'を前置してもよいです。

$ fsed 's/\//-/2' data6
001 -home-MANUAL-TOOL-fsed.txt
Last modified: 2022-08-13 08:42:33