GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menghapus kolom pertama (yang sebenarnya adalah nama baris) dari file data di linux?

penggunaan idiomatis dari cut adalah

cut -f2- input > output

jika Anda membatasi adalah tab ("\t").

Atau, cukup dengan awk sihir (akan berfungsi untuk pembatas ruang dan tab)

 awk '{$1=""}1' input | awk '{$1=$1}1' > output

awk pertama akan menghapus bidang 1, tetapi meninggalkan pembatas, awk kedua menghapus pembatas. Pembatas keluaran default adalah spasi, jika Anda ingin mengubah ke tab, tambahkan -vOFS="\t" ke awk kedua.

DIPERBARUI

Berdasarkan input Anda yang diperbarui, masalahnya adalah ruang awal yang dipotong diperlakukan sebagai beberapa kolom. Salah satu cara mengatasinya adalah dengan membuangnya terlebih dahulu sebelum memberi makan untuk dipotong

sed 's/^ *//' input | cut -d" " -f2- > output

atau gunakan awk alternatif di atas yang akan bekerja dalam kasus ini juga.


Anda dapat menggunakan cut perintah dengan --complement opsi:

cut -f1 -d" " --complement input.file > output.file

Ini akan menampilkan semua kolom kecuali yang pertama.


@Karafka Saya memiliki file CSV jadi saya menambahkan pemisah "," (Anda dapat menggantinya dengan milik Anda

cut -d"," -f2- input.csv  > output.csv

Kemudian, saya menggunakan loop untuk menelusuri semua file di dalam direktori

# files are in the directory tmp/
for f in tmp/*
do
    name=`basename $f`
    echo "processing file : $name"
    #kepp all column excep the first one of each csv file 

    cut -d"," -f2- $f > new/$name
    #files using the same names are stored in directory new/  
done

Linux
  1. Bagaimana mencegah dan memulihkan dari penghapusan file yang tidak disengaja di Linux

  2. Linux – Kolom Buffer Di Keluaran Dari Gratis?

  3. Linux – Seberapa Sering Sistem File Proc Diperbarui di Linux?

  1. Bagaimana cara menghapus garis yang muncul pada file B dari file A lainnya?

  2. Bagaimana cara menangkap output dari perintah teratas dalam file di linux?

  3. Bagaimana cara membaca kolom IDLE di output perintah 'w' Linux?

  1. Baca dan tulis data dari mana saja dengan pengalihan di terminal Linux

  2. Cara Menghapus File dan Direktori di Linux dari Command Line

  3. Bagaimana cara Menghapus baris 'n' Pertama/Terakhir dari output perintah di Shell?