Akış editörü (sed) kullanarak sayıları binlerce ayırıcıyla bölme


1

Kullanarak sayılara binlerce ayırıcı olarak periyot eklemek istiyorum sed. Bunu nasıl yapabilirim?

Örnek giriş / çıkış: 29371923471239olmalıdır 29.371.923.471.239.

Yanıtlar:


2

Bunu dene

echo "29371923471239" | sed -r ':A;s|([0-9]+)([0-9]{3})|\1,\2|g;t A'
29,371,923,471,239

Bu, sayıyı iki bölüme ayırarak çalışır, son 3 hane ve diğer her şey. Daha sonra ,her şeyin sonuna bir a ekler ve tekrar başlangıcına dallanır. Bunun çalıştığını görebilirsiniz

echo "29371923471239" | sed -r ':A;s|([0-9]+)([0-9]{3})|\1,\2|g'
29371923471,239

2

BÜYÜK BİR İYİ İÇİN GHC-ONELINERS KULLANIN

$> echo -n 29371923471239 | ghc -e "import Data.List.Split" -e "putStrLn . reverse . intercalate \".\" . splitEvery 3 . reverse =<< getContents"
29.371.923.471.239

!


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.