特定のモードUnixの削除

特定のモードUnixの削除

次の文字列があります。

Root;rootrank;Bacteria;domain;"Actinobacteria";phylum;Actinobacteria;class;Acidimicrobidae;subclass;Acidimicrobiales;order;"Acidimicrobineae";suborder;Acidimicrobiaceae;family;Acidimicrobium;genus 

削除したい

root; rootrank; domain; phylum; class; subclass;order;suborder;family;genus

しかし、sedには多くの困難があります。

答え1

printf "%s\n" \
  "Root;rootrank;Bacteria;domain;"Actinobacteria";phylum;Actinobacteria;class;Acidimicrobidae;subclass;Acidimicrobiales;order;"Acidimicrobineae";suborder;Acidimicrobiaceae;family;Acidimicrobium;genus" \
  | sed -e 's/Root;//' \
        -e 's/rootrank;//' \
        -e 's/domain;//' \
        -e 's/phylum;//' \
        -e 's/class;//' \
        -e 's/subclass;//' \
        -e 's/order;//' \
        -e 's/suborder;//' \
        -e 's/family;//' \
        -e 's/genus//'

あなたのため:

Bacteria;Actinobacteria;Actinobacteria;Acidimicrobidae;Acidimicrobiales;Acidimicrobineae;Acidimicrobiaceae;Acidimicrobium;

複数のコマンドを一緒に接続できますsed-e 's/foo/bar/'これは「replace foowith bar」を意味しますが、私たちの場合は単に何かを変えるだけです(したがって実際には削除するだけですfoo)。

関連情報