Bashから重複文字を削除する

Bashから重複文字を削除する

行がある場合:

There are seven pencil

次のように印刷したいと思います。

Ther a svn pcil

Bashシェルコマンドとは何ですか?

説明:目標は、複数回出現するすべての文字(最初の文字を除く)を削除することです。

ベストアンサー1

s/replace-this/with-that/gグローバル置換=すべての発生を意味するsedの古典的な構文に基づいて、誰かがwhich(拡張)の代わりにgwhichを使用できます。2ggglobal replacement but after second occurencegnu 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'

上記のトリックは、ファイル<( )として使用できるプロセス置換を使用します。

私の解決策では、手続き型置換はsedoption = read sedコマンドを介してファイルから提供されたスクリプトファイルとして扱われます。sed-f

おすすめ記事