GNU/Linux >> Belajar Linux >  >> Linux

Temukan baris apa pun di VI yang memiliki sesuatu selain ATCG

Pertama-tama, Anda pasti tidak ingin membuka file di editor (terlalu besar untuk diedit dengan cara itu).

Sebaliknya, jika Anda hanya ingin mengidentifikasi apakah file berisi apa pun selain A , T , C dan G , Anda dapat melakukannya dengan

grep '[^ATCG]' filename

Ini akan mengembalikan semua baris yang berisi apa pun selain keempat karakter tersebut.

Jika Anda ingin menghapus karakter ini dari file, Anda dapat melakukannya dengan

tr -c -d 'ATCG\n' <filename >newfilename

(apakah ini cara yang benar untuk "memperbaiki" file atau tidak, saya tidak tahu)

Ini akan menghapus semua karakter dalam file yang bukan salah satu dari empat, dan juga akan mempertahankan baris baru (\n ). File yang diedit akan ditulis ke newfilename .

Jika itu adalah kesalahan sistematis yang menambahkan sesuatu ke file, maka ini mungkin dapat diperbaiki dengan sed atau awk , tetapi kami belum tahu seperti apa data Anda.

Jika Anda membuka file di vi atau vim , lalu perintah

/[^ATCG]

akan menemukan karakter berikutnya dalam buffer pengeditan yang bukan A , T , C atau G .

Dan :%s/[^ATCG]//g akan menghapus semuanya.


Linux
  1. Cara Menemukan Paket Yang Menyediakan File Tertentu Di Linux

  2. Program yang Bisa Buffer Stdin Atau File?

  3. Tidak Dapat Menemukan File Untuk Ditambal Pada Baris Input 3?

  1. Temukan Usia File Tertua Dalam Satu Baris Atau Kembalikan Nol?

  2. Bagaimana kita bisa menyimpan kata sandi selain teks biasa?

  3. temukan file yang memiliki nomor dalam nama file lebih besar dari

  1. Cari File Teks Di Mana Dua Kata Berbeda Ada (Urutan apa saja, Baris Apa Saja)?

  2. temukan dan hapus file atau folder yang lebih lama dari x hari

  3. cara menyisipkan baris baru jika baris memiliki lebih dari 60 karakter