Bir metin dosyasının içeriğini komut satırında görüntülemek istiyorum. Dosya sadece 5-6 karakter içeriyor. Bunu yapmanın kolay bir yolu var mı?
Bir metin dosyasının içeriğini komut satırında görüntülemek istiyorum. Dosya sadece 5-6 karakter içeriyor. Bunu yapmanın kolay bir yolu var mı?
Yanıtlar:
cat
Dosyanız kısa olduğu için kullanabilirsiniz
cat
.
cat filename
less
Daha uzun bir dosyanın içeriğini görüntülemek zorundaysanız, gibi bir çağrı cihazı kullanabilirsiniz
less
.
less filename
Sen yapabilir less
gibi davranacaksan cat
küçük dosyalar üzerinde çağrıldığında ve onu geçerek normalde aksi davranması -F
ve -X
bayraklar.
less -FX filename
Bunun için bir takma ad var less -FX
. Birini kendin gibi yapabilirsin:
alias aliasname='less -FX'
Takma adı kabuk yapılandırmanıza eklerseniz, sonsuza dek kullanabilirsiniz.
od
Dosyanız garip veya yazdırılamayan karakterler içeriyorsa od
, karakterleri incelemek için kullanabilirsiniz
. Örneğin,
$ cat file
(ÐZ4 ?o=÷jï
$ od -c test
0000000 202 233 ( 320 K j 357 024 J 017 h Z 4 240 ? o
0000020 = 367 \n
0000023
less
Diğer çağrı programları gibi belirgin avantajları var mı pg
, yoksa kişisel tercihinize mi düşüyor?
less
daha çok özelliğe sahiptir pg
. less(1)
Ve pg(1)
man sayfalarına bir göz atın. Başka çağrı cihazları da var. Unix.stackexchange.com/questions/81129/… adresine bakınız . less
muhtemelen en yaygın kullanılan çağrı cihazıdır, ancak hangisini kullandığınız kişisel tercihinize bağlıdır.
more
ve most
!
Herkes kullanıyor olsa da cat filename
standart çıktı ilk amacın bir dosya metin yazdırmak için aleyhte olan kedi enating. Kedinin adam sayfasından:
cat - dosyaları birleştirin ve standart çıktıya yazdırın
Artık kedi dosyaları yazdırmak için uygun ancak alternatifler var:
echo "$(<filename)"
or
printf "%s" "$(<filename)"
( )
Bu durumda, bir içerik, bir ifade değerini geri dosya o sırada genişletilmiş $
için echo
veya printf
.
Güncelleme:
< filename
Bu tam olarak ne istiyorsan onu yapar ve hatırlaması kolaydır.
Bir menüden bir dosya seçmenize ve ardından yazdırmanıza izin veren bir örnek.
#!/bin/bash
select fname in *;
do
# Don't forget the "" around the second part, else newlines won't be printed
printf "%s" "$(<$fname)"
break
done
Daha fazla okuma için:
BashPitfalls - cat file | sed s / foo / bar /> dosya
Bash Referansı - Yönlendirme
< filename
tam olarak istediğiniz şey ..." yanıltıcıdır. Genel olarak, bu alternatifler üzerine ilginç bir tartışma olmasına rağmen cat
, daha basit olduğunu düşünüyorum .
< filename
, dosyanın içeriğini göstermez, ancak görüntüler cat filename
.
tee < filename
.
echo "$(<filename)"
Faşizm için +1 . Burada yeteri kadar yok.
"$(<filename)"
. Teşekkürler ...
Bir seçenek kullanmaktır more
Örneğin more file.txt
Ancak ekleyen tüm özelliklere sahip değil less
.
Basit bir örnek, çıktıda geri kaydırma yapamayacağınızdır. Genelde daha az tarafından üstlenilmiştir - çünkü jest olarak adlandırılmıştır.
Az daha çoktur
Her zaman kullanıyorum $ less "your file here"
, çok basit olduğu gibi, yerleşik bir etkileşimli grep
komut sağlar ve ok tuşlarıyla kaydırma yapabileceğiniz kullanımı kolay bir arayüz sunar.
(Ayrıca hemen hemen her * nix sistemine dahil edilmiştir)
less
bir overkill-versiyonudur more
(karşılaştırma man less
ile man more
), ve benim için iki can sıkıcı özelliklere sahiptir: 1) açıkça yazmak zorunda EOF alternatif ekran tampon, az sonlandığı görüntülemekte olduğunuz dosya 2 kaybolur) geçer q
(Biliyorum, bunun için bir seçenek var). Dolayısıyla, yeni bir ortamda ilk eylemlerimden biri export PAGER=/bin/more
profilime yerleşmek ve more
her zaman kullanmak .
-X
Bayrağı deneyin . 2) -E
Bayrağı deneyin . less
Bir sahiptir more
benzetim modunu. LESS_IS_MORE
Çevresel değişkeni ayarlayarak etkinleştirebilirsiniz . more
Emülasyon modunda yukarı doğru kaydırma yapabilirsiniz .
less
bunun aşırı karmaşık olduğu konusunda hemfikirim . Dış komutları çalıştırma kabiliyeti, aşırı karmaşıklığına mükemmel bir örnektir.
more
ve birçok ek özelliği olduğu için işi çok iyi yapıyor.
Büyük bir dosyaysa ve belirli bir bölümünü aramak istiyorsanız, kullanabilirsiniz.
cat filename | grep text_to_search -ni
Ayrıca daha etkileşimli Vim editörü (veya Vim'iniz yoksa vi editörü) kullanabilirsiniz:
vim filename
Or
vi filename
Vim / vi harika bir editör, "Normal Mod" da bir okuyucu olarak da kullanılabilir veya -R seçeneğini kullanarak, dosyaya göz atmanıza yardımcı olacak birçok özelliğe sahiptir.
vim -R
olduğunu view
. Ancak, xargs ve vi - “Giriş bir terminalden değil” de tartışıldığı gibi yeniden yönlendirmeleri sevmediğini unutmayın .
Dosya adı içeriğini görüntülemek için cat komutunu kullanın. kedi dosya adı
Dosyayı düzenlemek için vim komutunu kullanın. vim dosya adı
sed -n l file
faydalı olabilir.