GNU/Linux >> Linux の 問題 >  >> Linux

カットの逆コマンドは存在しますか?

cutを使うのが好きです -cを使用したLinuxのコマンド 国旗。ただし、 cutの逆のセットを実行するコマンドを見つけることに興味があります。 。基本的に、入力が与えられた場合:

drwxrwxrwx 2 root root 4096 4096 4 20:15 bin
drwxrwxrwx 2 root root 4096 4096 4 20:15 Desktop

を除くすべてを表示したい 「4096420:15」。出力は次のとおりです:

drwxrwxrwx 2 root root bin
drwxrwxrwx 2 root root Desktop

理にかなっている場合は、文字xとyの間を文字通り切り取ることができるようにしたいと思います。

何か案は?書くのが難しいスクリプトになるとは想像できませんが、そのコマンドがすでに存在する場合は、それを使用したいと思います。

承認された回答:

他の人が指摘しているように、 lsの出力を解析しないでください。 。 lsを使用していると仮定します 単なる例であり、他の何かを解析する場合、必要なことを行う方法はいくつかあります。

  1. カット -dを使用 および-f

    cut -d ' ' -f 1,2,3,4,9
    

    man cutから :

    -d, --delimiter=DELIM
          use DELIM instead of TAB for field delimiter
    
    -f, --fields=LIST
          select only these fields;  also print any line
          that contains no delimiter  character,  unless
          the -s option is specified
    

    特にlsの場合 ls なので、これは失敗する可能性があります 連続するフィールド間の空白の量を変更して、フィールドの配置を改善します。 カット foo barを扱います およびfoo bar 別の方法で。

  2. awk そのバリアントは、各入力行を空白のフィールドに分割して、必要なフィールドのみを印刷するように指示できるようにします。

    awk '{print $1,$2,$3,$4,$9}'
    
  3. Perl

    perl -lane 'print "@F[0 .. 3,8]"'
    

Linux
  1. システム管理者(root)としてコマンドを実行する方法は?

  2. ルートユーザーがSudo権限を必要とするのはなぜですか?

  3. Thundering Herd Problem は Linux にもう存在しませんか?

  1. ブラウザはどのようにして最も近い DNS ルート サーバーを見つけますか?

  2. Linux のパイプ記号 |行う?

  3. カーネルはどのようにルート パーティションをマウントしますか?

  1. -e は bash シバンで何をしますか?

  2. 切り取りコマンドの「フィールド」を構成するものは何ですか?

  3. ps コマンドはどのように機能しますか?