sed、awk、trなどのmuコマンドライン出力や、便利な高速ユーティリティを使ってメタキャラクタや特殊文字を削除しようとしています。また、私は..私は下記なっただけで何..作業が、コマンドの複数加えている私のレベルでいくつかのトリックを試してみましたawkまたはsedで複数のメタ文字を取り除く方法
1)最初の正確な出力がコマンド利回り..
$ getent netgroup login_access_foxone
login_access_foxone (-,cacti,) (-,multi,) (-,hipot,) (-,jack,)
2)以下はawkと組み合わされて出力が得られるsedのことです。
$ getent netgroup login_access_foxone | sed 's/login_access_onefarm//g' | sed 's/)/\n/g' | awk 'BEGIN {FS=","}{print $2}' | grep -v ^$
cacti
multi
hipot
jack
3)再びのtrコマンドを使用して、一つ下の次が、これはawkのではなく、再び二つの部分
$ getent netgroup login_access_foxone | awk -v FS="[()]" '{for (i=2;i<=NF;i+=2) print $i }' | awk -F, '{print $2}'
cacti
multi
hipot
jack
にある
$ getent netgroup login_access_foxone | tr -d '(' | tr ')' '\n' | cut -d, -f2
cacti
multi
hipot
jack
4)...出力を取得するためにカットを使用していました
5)SEDが、今は削除することができませんでし持つ少数のより多くのテスト「 - 」それぞれの名前の後に改行を「」&をしてもらう
空白行は、sedをしているために、コードが、agian必要性の下で、削除するために6)いくつかの醜い組み合わせでsedを試みたが、空白を含む出力とprobleがある..です
$ getent netgroup login_access_foxone | sed 's/[-,()]/\n/g'
login_access_foxone
cacti
multi
hipot
jack
私はそれをアイデアを得ました別のパイプで。
$ getent netgroup login_access_foxone | sed 's/[-,()]/\n/g'|sed '/^\s*$/d'
あなたが投稿した2番目のawkコードについて説明できますか?私はそれを答えにします。他のsed&trバージョンで見ても、専門家が選別することができます。 – rocky1981
@karakafa ...よく見えます。 – rocky1981