GNU/Linux >> Belajar Linux >  >> Linux

Mengekstrak kolom dari file teks dengan pembatas berbeda di Linux

Jika perintah harus bekerja dengan tab dan spasi sebagai pembatas, saya akan menggunakan awk :

awk '{print $100,$101,$102,$103,$104,$105}' myfile > outfile

Selama Anda hanya perlu menentukan 5 bidang, tidak apa-apa untuk mengetiknya saja, untuk rentang yang lebih panjang Anda dapat menggunakan for lingkaran:

awk '{for(i=100;i<=105;i++)print $i}' myfile > outfile

Jika Anda ingin menggunakan cut , Anda harus menggunakan -f opsi:

cut -f100-105 myfile > outfile

Jika pembatas bidang berbeda dari TAB Anda perlu menentukannya menggunakan -d :

cut -d' ' -f100-105 myfile > outfile

Periksa halaman manual untuk info lebih lanjut tentang perintah cut.


Anda dapat menggunakan cut dengan pembatas seperti ini:

dengan pembatas ruang:

cut -d " " -f1-100,1000-1005 infile.csv > outfile.csv

dengan tab delim:

cut -d$'\t' -f1-100,1000-1005 infile.csv > outfile.csv

Saya memberi Anda versi pemotongan di mana Anda dapat mengekstrak daftar interval...

Semoga membantu!


Linux
  1. 10 Contoh Perintah Potong Linux Praktis untuk Memilih Kolom File

  2. Bagaimana cara menjalankan program dengan direktori kerja yang berbeda dari saat ini, dari shell Linux?

  3. Bagaimana membedakan biner dari file teks di linux

  1. Hapus lima karakter pertama pada baris mana pun dari file teks di Linux dengan sed

  2. Salin file dari linux ke windows share dengan C# (.NET core)

  3. Bagaimana cara memilih semua teks dari file dengan nano?

  1. Cara Menambahkan Teks ke Akhir File di Linux

  2. Izin File di Linux dengan Contoh

  3. Bagaimana install -c berbeda dari cp