fsed

提供: Personal Tukubai for Academic
ナビゲーションに移動 検索に移動

名前

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

書式

使い方とオプション

Usage

fsed [-e|-i] 's/<org>/<new>/<n>'... <file>

Option

-e
-i

説明

ファイル <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

Version and Edition

Version : Tue Jun 18 19:00:37 JST 2019

Edition : 1


© 2021 Universal Shell Programming Laboratory site