GNU/Linux >> Belajar Linux >  >> Linux

Apa cara yang tepat untuk memasukkan tab di sed?

Seperti yang dikatakan sebagian besar jawaban, mungkin tab literal char adalah yang terbaik.

info sed mengatakan "\t tidak portabel. " :

...
'\CHAR'
    Matches CHAR, where CHAR is one of '$', '*', '.', '[', '\', or '^'.
    Note that the only C-like backslash sequences that you can
    portably assume to be interpreted are '\n' and '\\'; in particular
    '\t' is not portable, and matches a 't' under most implementations
    of 'sed', rather than a tab character.
...

Anda cukup menggunakan sed i perintah dengan benar:

some_command | sed '1i\
text    text2'

di mana, seperti yang saya harap sudah jelas, ada tab antara 'text' dan 'text2'. Di MacOS X (10.7.2), dan karenanya mungkin di platform berbasis BSD lainnya, saya dapat menggunakan:

some_command | sed '1i\
text\ttext2'

dan sed menerjemahkan \t ke dalam tab.

Jika sed tidak akan menafsirkan \t dan menyisipkan tab pada baris perintah merupakan masalah, buat skrip shell dengan editor dan jalankan skrip tersebut.


Dengan asumsi bash (dan mungkin shell lain juga akan berfungsi):

some_command | sed $'1itext\ttext'

Bash akan memproses jalan keluar, seperti \t , di dalam $' ' sebelum meneruskannya sebagai arg ke sed.


Linux
  1. Apa cara termudah untuk membuat paket virtual di debian?

  2. Apa cara tercepat untuk menghapus semua file &subfolder dalam direktori?

  3. Apa itu tautan emas?

  1. Apa cara termudah untuk SSH menggunakan Python?

  2. Apa yang dimaksud dengan POSIX?

  3. Apa cara yang benar untuk memulai layanan mongod di linux / OS X?

  1. Bagaimana Cara Menyisipkan Teks Sebelum Baris Pertama Sebuah File?

  2. Bagaimana cara memasukkan teks ke baris pertama file menggunakan sed?

  3. Apa cara terbaik untuk mempelajari SELinux?