Bir tablodan bir satır kopyalayıp başka bir yere yapıştırdığınızda doğru yerde olduğunu bilirsiniz. Peki, bu işlem gerçekleştirildiğinde hücre değerleri arasındaki karakter nedir.
Örneğin. Bu metne sahibim: Phone (P), Email (E), Home (H)
ve ,
ile tüm metni değiştirip \n
, metni Sayfa / Word / Excel'deki tablo biçiminde bir forma yapıştırırsam, bu sütun olarak yorumlanır.
Dizeyi, kullandığım yeni satırla değiştirmek için:
> pbpaste | tr -s ', ' '\n' | pbcopy
Denedim \t
ve \n\n
hala üst üste yapıştırılıyorlar.
Sonra bunu üst üste kopyalamayı ve kullanarak terminalde yazdırmayı denedim ( gcat
çünkü macOS'tayım):
> pbpaste | gcat -A
a^Ib^Ic⏎
Belgeleri okuduğunda yazıyor:
SEKME karakterlerini ^ I olarak göster
Ama değiştirilmesi ,
ile \t
bunu yapmaz. Bunun hangi karakter olduğunu ve bir satır yapıştırmak için nasıl virgül koyabileceğimi bilen var mı?
\t
, belki yapar ^t
?
tr
bu görev için yanlış komuttur. Dene pbpaste | sed 's/, / /g' | pbcopy
. Bu yorumu yalnızca komutu kopyalayamayacağınızı unutmayın. Control-v ardından sekme tuşu, Terminal komut satırında bir sekme karakteri girmenize olanak sağlar. Bu komutu Terminal'e yazarken yazın s/, /control-v tab/g
.
sed
ve kullanmamasını söylemeden önce bir alt dizgiyi başka bir dize ile değiştirmenin en iyi yolunu sorduğumda tr
.... sed
benim için oldukça kafa karıştırıcı ve herhangi bir regex olmadan basit bir değiştirme için artık yardımcı olmuyor.
sed
emir sorunu çözdü mü? Sorun tr
şu ki karakterleri çevirir, dizeleri değil. sed
"temel regex" denilen ancak sed -E
modern "genişletilmiş regex" kullanır. sed
Komut her yerini ,
bir sekme karakteri ile (bir boş ardından virgül). Bir cevap yardımcı olur mu?