[bash] Dosya Satır Sayısına Göre Listeleme Yapmak

Başlatan coderman, 22 Mart 2018 - 15:34:09

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

coderman

Merhabalar
Bir ödev projem için çalışıyorum, ödevim kullanıcıdan alınacak dosyaların satır sayısı bulunarak büyükten küçüğe doğru sıralamak. Aşağıda ki programı yazdım.

#!/bin/bash

files=()
lines=()

declare lineCount

while [[ True ]]; do
    echo "Metin Yolunu Giriniz: "
    read file
    files+=($file)
    lineCount=$(wc -l < "$file")
    lines+=($lineCount)
    echo "Baska Dosya Girmek Ister Misiniz? (y/n): "
    read isStop
    if [[ "$isStop" == "n" ]]; then
        break
    fi
done

echo ${files[*]}
echo ${lines[*]}


Her dosyanın satır sayısını aynı indise sahip olmak şartıyla farklı bir diziye yazıyorum (dosya isimleri files dizisinde, satır sayıları lines dizisinde). Ancak satır sayılarına göre sıralama yaptığımda lines dizisini sıraladıktan sonra files dizisinin de lines dizisine göre değişmesi gerekiyor sonuçta. Ama bunu yapamadım. ne yapmalıyım yada ne önerirsiniz?

coderman


mhmtkrktr

#2
#!/bin/bash
#
#
while [[ True ]]; do
    echo "Metin Yolunu Giriniz: "
    read File
    File=$(sed "s,',,g" <<<$File)
    files+="$(wc -l $File)\n"
    echo "Baska Dosya Girmek Ister Misiniz? (y/n): "
    read isStop
    if [[ "$isStop" == +(n|N) ]]; then
        break
    fi
done
echo
echo "seçilenler"
echo -e "$files"
echo
echo "sıralama"
echo -e "$files" | sort -V
echo
echo "ters sıralama"
echo -e "$files" | sort -Vr
echo
echo "sıralı dosyalar"
echo -e "$files" | sort -Vr | cut -d' ' -f2

coderman

[mention=637722]@mhmtkrktr[/mention]
Dostum hakkını nasıl öderim bilmiyorum, özelden mail adresimi gönderiyorum elimde gelen her durumda yardımcı olmak isterim :) Allah razı olsun, sağlıcakla kal...

mhmtkrktr


coderman

Alıntı yapılan: mhmtkrktr - 30 Mart 2018 - 01:46:49
Ricâ eder başarılar dilerim.  :)


Teşekkür ediyorum, biliyorum yüzsüzlük olacak ama bir mesaj gönderdim size mail yolu ile. Bilginiz olsun. Bu konuda da yardımcı olursanız gerçekten çok memnun olurum.

Her şey için teşekkürler, iyi çalışmalar diliyorum.