行がある場合:
There are seven pencil
次のように印刷したいと思います。
Ther a svn pcil
Bashシェルコマンドとは何ですか?
説明:目標は、複数回出現するすべての文字(最初の文字を除く)を削除することです。
ベストアンサー1
s/replace-this/with-that/g
グローバル置換=すべての発生を意味するsedの古典的な構文に基づいて、誰かがwhich(拡張)の代わりにg
whichを使用できます。2g
g
global replacement but after second occurence
gnu sed
削除のみの例e
:
$ echo $a
there are seven pencil
$ echo $a | sed 's/e//2g'
ther ar svn pncil
すべての重複文字を削除するには、次のトリックを使用できます。
$ sed -f <(printf 's/%s//2g\n' {a..z}) <<<"$a"
ther a svn pcil
残念ながら、これは機能しません。sed 's/[a-z]//2g'
上記のトリックは、ファイル<( )
として使用できるプロセス置換を使用します。
私の解決策では、手続き型置換はsed
option = read sedコマンドを介してファイルから提供されたスクリプトファイルとして扱われます。sed
-f