私は/ etc/sudoersで一番長い行を出したいと思っています。
wc。 AWK行内のホワイトスペースの数をawkと変わらないようにするには?
sudo awk '{if(length>L){L=length;s=$0}}END{print NR,L,s}' /etc/sudoers
27 83 Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
AWKトリートわずか1空白として27行に8つの空白について
sudo wc -L /etc/sudoers
90 /etc/sudoers
、8-1 = 7,90-83 = 7。
したがって、wcで得られた数値はawkより7大きいです。
awkが1行ではなく、27行目の8個の空白をそのまま扱うように、awkで行のホワイトスペースの数を変更しないでください。
コマンドsudo awk '{if(length>L){L=length;s=$0}}END{print NR,L,s}' /etc/sudoers
を修正してawkで次の結果を出力する方法。
27 90 Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
debian @ wifi:〜$ sudo awk '{行= gensub( "^^\ t"、 ""、 "1"); >(長さ(行)> L){L =長さ(行); s =行}} END {print NR、L、s} '/ etc/sudoers –
awk:行3:関数gensubは定義されていません –
@ it_is_a_literature 'gawk'を使用していない場合、' sub'が利用可能になります。 –