Çok uzun isimlerle bir dizi dosyam var. Lütfen, genel bir görünüm için daha fazla sütun almak için ls -C kullanmanın ve dosya adlarını kısaltmanın bir yolu var mı?
Veya küçük bir liste almanın daha iyi bir yolu var mı?
Çok uzun isimlerle bir dizi dosyam var. Lütfen, genel bir görünüm için daha fazla sütun almak için ls -C kullanmanın ve dosya adlarını kısaltmanın bir yolu var mı?
Veya küçük bir liste almanın daha iyi bir yolu var mı?
Yanıtlar:
Şöyle bir şey yapabilirsiniz:
ls | cut -c1-20 | columns -W "${COLUMNS:-80}"
(bu columns
bir s
GNU otojeninden). Veya:
ls | cut -c1-20 | column -c"${COLUMNS:-80}"
column
BSD'lerde veya bsdmainutils
Debian veya türevlerinde bulunduğu şekliyle
kullanma .
zsh
ayrıca bir şeyleri sütunlarda yazdırma desteği vardır, böylece aşağıdaki gibi bir işlev tanımlayabilirsiniz:
setopt extendedglob
c() print -rC$[COLUMNS/(($1)+2)] -- "${(M)@[2,-1]##?(#c0,$[$1])}"
Ve şu şekilde kullanın:
c 20 *.txt
Liste txt dosyalarını sütunlarda yazdırmak için 20 karaktere kadar kısaltılmış.
Ve biraz daha çılgın yapmak için şunları ekleyebilirsiniz:
command_not_found_handler() {(($1)) && c "$@"}
Bu şekilde şunları da yapabilirsiniz:
20 *
Ya da:
8+8 *
80 sütunlu bir ekran varsayarsak, kullanmayı seviyorum
ls -F | perl -lne 's/(.{34}).*/$1... /s ; print' | column -x | more
ls -FC
yerine yeniliğe göre sıralamak için kullan
(Sidenote: benim ls
zaten kaydırıldığından dolayı kaydırılıyor ls -CF --color | more -r
. Bunun en iyi uygulama olduğundan emin değilim ...)