GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengganti beberapa spasi dengan satu tab

Untuk mengonversi urutan lebih dari satu spasi ke tab, tetapi biarkan masing-masing ruang :

sed 's/ \+ /\t/g' inputfile > outputfile

Untuk melakukan ini pada sejumlah file:

for inputfile in *
do
    sed 's/ \+ /\t/g' "$inputfile" > tmpfile && mv tmpfile "$inputfile"
done

atau

for inputfile in *
do
    sed -i.bak 's/ \+ /\t/g' "$inputfile"
done

atau

find . -type f -exec sed -i.bak 's/ \+ /\t/g' {} \;

Jika karakter Anda adalah banyak tab, Anda juga dapat menggunakan tr -s :

-s, --squeeze-repeats   replace each input sequence of a repeated character
                        that is listed in SET1 with a single occurrence

Misalnya:

my_file.txt | tr -s " "

Semua ruang putih akan menjadi satu.


Anda dapat menggunakan sed untuk mengganti sejumlah spasi dengan tab.:

Contoh untuk mengganti satu atau beberapa spasi dengan satu tab:

cat spaced-file | sed 's/ \+/\t/g' > tabbed-file

Linux
  1. Cara Menginstal Banyak Distribusi Linux pada Satu USB

  2. Bagaimana Cara Mengganti String Dalam File?

  3. Bagaimana Cara Menggunakan Sed Untuk Mengganti String Multi-baris?

  1. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  2. Tutorial Unix Sed:Cara Mengeksekusi Beberapa Perintah Sed

  3. Cara mengganti string dalam banyak file di baris perintah linux

  1. Bagaimana cara menggunakan sed untuk mengganti variabel file konfigurasi?

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. Bagaimana cara mengatur tab ke 4 spasi di vim?