Saya punya file seperti berikut:
1234
ABCD
EFGH
Saya ingin mengonversinya sebagai berikut:
2341
BCDA
FGHE
File sebenarnya memiliki 4.000 kata, jadi saya ingin melakukan ini secara efisien. Saya mencoba menggunakan perintah cut -c 2-4,1 file.txt
, tetapi menghasilkan output yang persis sama dengan input. Saya berpikir saya bisa menggunakan 3 perintah berbeda:
cut -c 1 file.txt > temp1.txt
cut -c 2-4 file.txt > temp2.txt
// combine the two with paste or pr
... tapi saya lebih suka satu perintah karena saya perlu menjalankannya beberapa kali dengan sedikit modifikasi sehingga menjalankan satu perintah lebih rentan kesalahan daripada menjalankan 3 perintah setiap kali.
Apakah ada cara untuk menggabungkan pernyataan 2 potong menjadi satu? Sesuatu seperti:
cut -c 1 file.txt | pr (cut -c 2-4 file.txt)
Atau ada cara yang lebih baik untuk melakukan ini?
text-processing
cut
Masuk akal
sumber
sumber
-d ''
alih-alih menggunakan--delimiters=''
kembali karakter dari LIST alih-alihJika Anda menggunakan bash, gunakan pengindeksan string ekspansi parameter :
sumber
Anda dapat mengubah pemisah melalui "-F" sesuai dengan data Anda, dan mengatur urutan bidang secara sewenang-wenang.
sumber
Inilah satu cara dengan
perl
:Auto-split pada batas huruf, putar satu ke kiri dan cetak.
sumber
Saya menemukan alternatif dengan cara skrip:
Script memotong rantai dalam file yang terpisah. Kemudian gabung ke file baru (file4.txt) Dan akhirnya menghapus file cadangan.
solusi llua lebih bersih untuk seleraku.
sumber
Sudahkah Anda mencoba rev?
~$ cat filename | rev
sumber