Metin dosyası okumak için kısa satırlara bölünür?


10

Uzun satırlı düz metin dosyası alabilen ve okunabilir olması için yalnızca kelimelere bölünerek belirli sayıda karakterden sonra yeni satır ekleyebilen bir program var mı? Örneğin, şunu alın:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vel lectus ac enim venenatis porttitor in et est. Curabitur ut eros quis risus consequat dictum a a lectus. Integer ut risus quis augue lobortis molestie vel id nibh. Aliquam sit amet mattis lorem, vel ornare felis. Donec pulvinar tempus lorem, at porta sem pretium ut. Cras ut lorem tincidunt, scelerisque nunc vitae, posuere augue. Vestibulum iaculis libero id congue ultrices. Nullam mauris ipsum, aliquet eget nisl non, venenatis euismod enim. Phasellus a eleifend velit. Aenean molestie venenatis turpis, consectetur convallis velit fringilla non.

Ve bunu şuna dönüştürün:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vel
lectus ac enim venenatis porttitor in et est. Curabitur ut eros quis
risus consequat dictum a a lectus. Integer ut risus quis augue lobortis
molestie vel id nibh. Aliquam sit amet mattis lorem, vel ornare felis.
Donec pulvinar tempus lorem, at porta sem pretium ut. Cras ut lorem
tincidunt, scelerisque nunc vitae, posuere augue. Vestibulum iaculis
libero id congue ultrices. Nullam mauris ipsum, aliquet eget nisl non,
venenatis euismod enim. Phasellus a eleifend velit. Aenean molestie
venenatis turpis, consectetur convallis velit fringilla non.

Yanıtlar:


16

Bence aradığınız komuta çağrılır fmt.

$ fmt loremipsum.txt
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vel
lectus ac enim venenatis porttitor in et est. Curabitur ut eros quis risus
consequat dictum a a lectus. Integer ut risus quis augue lobortis molestie
vel id nibh. Aliquam sit amet mattis lorem, vel ornare felis. Donec
pulvinar tempus lorem, at porta sem pretium ut. Cras ut lorem tincidunt,
scelerisque nunc vitae, posuere augue. Vestibulum iaculis libero id congue
ultrices. Nullam mauris ipsum, aliquet eget nisl non, venenatis euismod
enim. Phasellus a eleifend velit. Aenean molestie venenatis turpis,
consectetur convallis velit fringilla non.

Genişlik vb. Sonuçları kontrol edebilirsiniz.

$ fmt --help
Usage: fmt [-WIDTH] [OPTION]... [FILE]...
Reformat each paragraph in the FILE(s), writing to standard output.
The option -WIDTH is an abbreviated form of --width=DIGITS.

Mandatory arguments to long options are mandatory for short options too.
  -c, --crown-margin        preserve indentation of first two lines
  -p, --prefix=STRING       reformat only lines beginning with STRING,
                              reattaching the prefix to reformatted lines
  -s, --split-only          split long lines, but do not refill
  -t, --tagged-paragraph    indentation of first line different from second
  -u, --uniform-spacing     one space between words, two after sentences
  -w, --width=WIDTH         maximum line width (default of 75 columns)
      --help     display this help and exit
      --version  output version information and exit

With no FILE, or when FILE is -, read standard input.

5

Muhtemelen en iyi seçim bir metin editörü olacaktır; çoğu bir tür metin kaydırma sunuyor.

Daha sade bir şey arıyorsanız, sedbenzer veya benzer bir şey bulabilirsin . Bir içine uzun bir çizgi koymak loremipsum.txtve icar sed56-73 karakter boşluk ve ardından sonra wrap, bu istenen sonucu verir ...

$ sed -r -e 's/.{56,73} /&\n/g' loremipsum.txt
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vel 
lectus ac enim venenatis porttitor in et est. Curabitur ut eros quis 
risus consequat dictum a a lectus. Integer ut risus quis augue lobortis 
molestie vel id nibh. Aliquam sit amet mattis lorem, vel ornare felis. 
Donec pulvinar tempus lorem, at porta sem pretium ut. Cras ut lorem 
tincidunt, scelerisque nunc vitae, posuere augue. Vestibulum iaculis 
libero id congue ultrices. Nullam mauris ipsum, aliquet eget nisl non, 
venenatis euismod enim. Phasellus a eleifend velit. Aenean molestie 
venenatis turpis, consectetur convallis velit fringilla non.

... ya da sadece fold -s -w 74 loremipsum.txtsanırım kullanabilirsiniz ...


3

Bu fold -s -w 72sonucu elde etmek için metninizi aktarabilirsiniz .

Sisteminizde yoksa, foldancak python yüklüyse şunları yapabilirsiniz:

cat /var/tmp/li.txt | cat /var/tmp/li.txt | python -c "import sys; from textwrap import fill; print fill(sys.stdin.read(), width=72)"
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.