Sekmeyle ayrılmış verileri satır sonları ile nasıl değiştirebilirim?


0

Çok sayıda sekmeyle ayrılmış veri var ve bu, çok fazla sütun aldığımı içe aktardığımda (Google Drive ve OpenOffice için çok fazla) aldığım anlamına geliyor.

Yapmam gereken, tüm sekmeleri satır sonlarıyla bulmak ve değiştirmek olduğunu düşünüyorum (yanlış olabilir).

* EDIT - Bunu farklı bir yöntem kullanarak çözdüm. Herkese yardımlarınız için teşekkürler. :)


Belki kendi sorunuzu cevaplayabilirsiniz, böylece hepimiz faydalanabiliriz.
Jacob Jan Tuinstra

Yanıtlar:


2

OS X'te kullanmak zorundasınız $'' eklemek \t veya \n ve kaçış \n değiştirme düzeninde

echo $'1\t2\n3\t4' | sed $'s/\t/\\\n/g'

Ancak satır beslemeleri zaten TSV dosyalarındaki satırları ayırmıyor mu? Ayrıca, sekmeleri noktalı virgül gibi başka karakterlerle değiştirmek için TextEdit'i de kullanabilirsiniz.


Merhaba, bu konuda biraz açıklamaya ihtiyacım var. Bunu başarmanın emri ne olurdu? Yardımınız için teşekkürler.
Drewdavid

Ve evet, ancak elektronik tablolar sekmeleri sütun olarak yorumluyor ve içe aktarılacak çok fazla sütun var ve bu nedenle kesiliyorlar.
Drewdavid

0

Normal bir ifade kullanmayı deneyebilirsiniz:

sed 's/\t/\n/' input.txt > output.txt

Bu sekmeleri değiştirecek \t newlines ile \n.


Merhaba ve teşekkür ederim. Bu, Terminal'de yapacağım bir şey mi? Teşekkürler :)
Drewdavid

Bu beklendiği gibi çalışmadı. Aşağıda olduğu gibi, yalnızca ilk http'nin hnnp olarak değiştirilmesi dışında, dosyanın geri kalanının tamamı değişmemiş görünüyor. Yardımınız için teşekkürler.
Drewdavid

0

Kökün cevabını genişletmek için, gerçekte tüm olanları yapmak için / g komutunu eklemeniz gerekebilir.

Ayrıca bir otomatik yedekleme bayrağıyla aynı dosyaya yazabilirsiniz.

sed -i.orig 's/\t/\n/g' file.txt

Son / g, satır başına ilk yerine her bir olaya çarpmasına neden olur (buna ihtiyacınız varsa).

-İ.orig, orijinalin yedeğini aldıktan sonra değişikliği aynı dosyaya yazar (bu durumda file.txt.orig). Bu, orijinali ve yenisini yerine koymak için yeniden adlandırmak yerine, sadece benim için bir tercih meselesi.

Güncelleştirme

Benim için çalıştığını göstermek için bir ekran görüntüsü ekledim ... Dosyanın sekmesinin açık olduğundan emin misiniz?

enter image description here


Merhaba, ekleme / öneri için teşekkür ederiz. Yukarıdaki gibi, bu Terminal'de gerçekleştireceğim bir şey mi? Teşekkürler nasıl gittiğini size bildirir. :)
Drewdavid

Evet, bu Terminalde yapılacaktı. Ve .orig Çalıştığınız giriş dosyası ile aynı dizinde bulunacaktır.
nerdwaller

Merhaba, bu tam olarak planlandığı gibi çalışmadı. Metin dosyasındaki tüm "t" karakterlerini "n" s ile değiştirdi, bu yüzden URL'lerim örneğin "hnnp". Kodu kopyalayıp yapıştırdım, sadece dosya adını değiştirdim.
Drewdavid

@Drewdavid Çalışmakta olduğunu göstermek için bir ekran görüntüsü ekleyin. Belki de çizgi kodlamaları unix tabanlı değildir, dosya kullanılarak yapılan dosya neydi?
nerdwaller

Teşekkürler, Mac OS X'te Terminal kullandığımı açıkça söylemedim. Yukarıdaki cevap yardımcı olmaya çalışıyor, ancak henüz orada değilim.
Drewdavid
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.