BLOGTIMES
2016/04/25

awk で指定した n カラム目以降を出力する

  awk 
このエントリーをはてなブックマークに追加

awk では各カラムを $1, $2, $3, $4 ・・・・ という感じでアクセスできるようになっていますが、 n カラム目から最後まですべて出力したかったのでスマートな方法がないかどうか調べてみました。
どうやらあまりスマートな方法はなくて、以下のようにfor 文を使って繰り返しで書くしかないようです。

$ ls -l | awk '{for(i=4;i<NF;++i){printf("%s ",$i)}print $NF}' 3509596 apache 520412 Jul 21 2005 050722-DVC50048.JPG apache 255977 Jul 21 2005 050722-DVC50049.JPG apache 232074 Jul 21 2005 050722-DVC50050.JPG apache 4260 Jul 6 2012 1104287101-image-small.jpg apache 7986 Jul 6 2012 1104287101-image.jpg apache 1811 Jul 6 2012 1104496203-image-small.jpg apache 5321 Jul 6 2012 1104496203-image.jpg apache 3988 Jul 6 2012 1104677102-image-small.jpg apache 7501 Jul 6 2012 1104677102-image.jpg

これならば以下の cut を使った場合の方がスマートですね。

$ ls -l | cut -d ' ' -f 4- apache 520412 Jul 21 2005 050722-DVC50048.JPG apache 255977 Jul 21 2005 050722-DVC50049.JPG apache 232074 Jul 21 2005 050722-DVC50050.JPG apache 4260 Jul 6 2012 1104287101-image-small.jpg apache 7986 Jul 6 2012 1104287101-image.jpg apache 1811 Jul 6 2012 1104496203-image-small.jpg apache 5321 Jul 6 2012 1104496203-image.jpg apache 3988 Jul 6 2012 1104677102-image-small.jpg apache 7501 Jul 6 2012 1104677102-image.jpg

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/8437
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン