GNU/Linux >> Belajar Linux >  >> Linux

Apakah Perintah Invers dari Cut Ada?

Saya suka menggunakan cut perintah di Linux dengan -c bendera. Namun, saya tertarik untuk menemukan perintah yang melakukan kebalikan dari cut . Intinya, dengan masukan:

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

Saya ingin melihat semuanya kecuali “4096 4 20:15”. Berikut adalah outputnya:

drwxrwxrwx 2 root root bin
drwxrwxrwx 2 root root Desktop

Saya ingin benar-benar dapat memotong antara karakter x dan y, jika itu masuk akal.

Ada ide? Saya tidak bisa membayangkan ini akan menjadi skrip yang sulit untuk ditulis, tetapi jika sudah ada perintah untuk itu, saya ingin menggunakannya.

Jawaban yang Diterima:

Seperti yang telah ditunjukkan orang lain, Anda tidak boleh mengurai output ls . Dengan asumsi Anda menggunakan ls hanya sebagai contoh dan akan menguraikan sesuatu yang lain, ada beberapa cara untuk melakukan apa yang Anda inginkan:

  1. cut dengan -d dan -f

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

    dari 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
    

    Khusus untuk ls ini kemungkinan akan gagal karena ls akan mengubah jumlah spasi putih di antara bidang yang berurutan untuk membuatnya sejajar lebih baik. cut memperlakukan foo<space>bar dan foo<space><space>bar berbeda.

  2. awk dan variannya membagi setiap baris input menjadi bidang pada spasi putih sehingga Anda dapat memintanya untuk mencetak hanya bidang yang Anda inginkan:

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

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

Linux
  1. Bagaimana Menjalankan Perintah Sebagai Administrator Sistem (root)?

  2. Mengapa Pengguna Root Membutuhkan Izin Sudo?

  3. Bagaimana Cara Kerja Perintah Tee??

  1. Bagaimana cara kerja perintah 'ls' di Linux/Unix?

  2. Bagaimana perintah stat menghitung blok file?

  3. Apakah Thundering Herd Problem ada lagi di Linux?

  1. Apa yang dilakukan baris '!/bin/sh -e'?

  2. Apa arti &di akhir perintah linux?

  3. Perintah sed Linux tidak mengubah file target