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.