Metin dosyasındaki sütunları hizala


-1

Unix'te aşağıdaki gibi bir dosyam var ( test.txt ):

20130912-02:29:03 BT_TBL CISCUST BT_TBL_CISCUST_003015.dat
20130912-05:00:04 BT_TBL TMVLP BT_TBL_TMVLP_001026.dat
20130912-08:26:20 D_SNODE CPR8S D_SNODE_CPR8S_001772.dat
20130912-12:15:37 BT_PRA EWSDCAI BT_PRA_EWSDCAI_193228.dat
20130912-12:15:03 AMSD TTFILE AMSD_TTFILE_285130.dat
20130912-12:10:02 SIN2TTFILE SIN2_TTFILE_131635.dat
20130912-12:15:16 BT_ONEI NOAS_AM BT_ONEI_NOAS_AM_032902.dat

Bununla birlikte, sütunların sabit bir uzunlukta olmasına ihtiyacım var. Sekmelerle ayrılmalıdırlar:

20130912-02:29:03   BT_TBL    CISCUST   BT_TBL_CISCUST_003015.dat
20130912-02:30:05   BT_TBL    CISTERM   BT_TBL_CISTERM_003034.dat
20130912-05:00:04   BT_TBL    CTVLP     BT_TBL_CTVLP_001005.dat
20130912-05:00:04   BT_TBL    TMVLP     BT_TBL_TMVLP_001026.dat
20130912-08:26:20   D_SNODE   CPR8S     D_SNODE_CPR8S_001772.dat
20130912-08:20:07   D_SNODE   CPR9S     D_SNODE_CPR9S_001692.dat
20130912-08:20:08   D_SNODE   SUB9S     D_SNODE_SUB9S_001691.dat
20130912-12:15:37   BT_PRA    EWSDCAI   BT_PRA_EWSDCAI_193228.dat
20130912-12:15:03   AMSD      TTFILE    AMSD_TTFILE_285130.dat
20130912-12:20:02   DLLS      TTFILE    DLLS_TTFILE_137361.dat
20130912-12:20:02   LOGS      TTFILE    LOGS_TTFILE_150352.dat
20130912-12:10:02   SIN2      TTFILE    SIN2_TTFILE_131635.dat
20130912-12:15:16   BT_ONEI   NOAS_AM   BT_ONEI_NOAS_AM_032902.dat
20130912-12:10:25   BT_ONEI   NOAS_FF   BT_ONEI_NOAS_FF_030531.dat
20130912-12:21:01   BT_IN     AMSSC11   BT_IN_AMSSC11_565012.dat
20130912-12:22:01   BT_IN     AMSSC12   BT_IN_AMSSC12_571777.dat
20130912-12:21:32   BT_IN     FFTSC11   BT_IN_FFTSC11_580199.dat
20130912-12:22:31   BT_IN     FFTSC12   BT_IN_FFTSC12_576488.dat
20130912-12:22:02   AMSD      VP_IN     AMSD_VP_IN_770412.dat
20130912-12:24:01   DLLS      VP_IN     DLLS_VP_IN_412252.dat
20130912-12:23:02   LOGS      VP_IN     LOGS_VP_IN_440553.dat
20130912-12:20:03   SIN2      VP_IN     SIN2_VP_IN_395060.dat

Bunu nasıl yapabilirim?


Bu dosya bir betiğin çıktısına benziyor. Belki de, çıktıyı düzeltmek yerine onu oluşturan bir betiği düzeltmek daha kolay olur.
— Vladimir Tsuverkalov

Bir dahaki sefere lütfen sorunuzun önizlemesine bakarak biçimlendirmenize dikkat edin. Teşekkürler.
— slhck

Ne dersin sed -i 's/ */\t/' file ?
— mveroone

1
Soruyu neden microsoft-excel ile etiketlediniz?
— Jerry

Yanıtlar:


0

GNU ile sed, tüm boşlukları global olarak bir sekmeyle değiştirin:

sed 's/ /\t/g' test.txt > new.txt

Unix’ten bahsettiğinizden beri, BSD’ye ilgi duyabilirsiniz. sed, anlamıyor \t. Buraya girin:

sed 's/ / Ctrl-V  çıkıntı  / g 'test.txt & gt; new.txt 

basma Ctrl-V bir sonraki basılan anahtarı alıp tam anlamıyla yerleştirir


0

Bir metin düzenleyicide, bulma ve değiştirme aracını kullanarak boşlukları sekmelerle değiştirin.


Nasıl olduğunu açıklamak ister misin? Olduğu gibi, bu cevap neredeyse tamamen, ama tamamen değil, tamamen yararsızdır.
— Mokubai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.