Ben böyle bir örnek / etc / passwd dosyası var:
tom:x:1000:1000:Work:/home/tom:/bin/bash
george:x:1000:1000:Work:/home/george:/bin/bash
bla:x:1000:1000:Work:/home/bla:/bin/bash
boo:x:1000:1000:Work:/home/boo:/bin/bash
bee:x:1000:1000:Work:/root/list:/bin/bash
Giriş klasörü olan tüm kullanıcıları listelemeye çalışıyorum /home/
.
yazdım
cat ~/Desktop/e.txt |awk -F ":" '{if ($6 ~/^/home/) print $1;}'
burada e.txt buraya kopyaladığım metindir.
Ben bir kaçış karakteri olan ters eğik çizgi ile ilgili bir sorun olduğunu anlıyorum, ama bunları nasıl bir komutun bir satırında listeleyebilirim?
grep home e.txt | cut -d ":" -f 1
. UUOC ödülünüz için tebrikler. Ancak, bu iyi bir çözüm değildir. Ya daemondan sonra adlandırılan ayrı bir kullanıcı altında çalışan bir hizmet "homebackups" varsa? Bu yanlış bir pozitif.
cat > tool
bu tür komut satırlarının varyantını kullanıyorum çünkü soldan sağa akışı koruyarak netliği artırabilir boru zincirinin girdi-işleme-çıktısının. Bu ise ancak hemen hemen her zaman minimal böylece, daha az verimli. Aynı zamanda (tıpkı değiştirilmesi için ilgili ve kullanışlı etkileşimli çok belirgin çalışan bir ilerleme çubuğu ekleyerek yapar cat
ile pv
yüklü ise).
cat
ve boru gibi araçlaraawk
yased
ya, onlar gibi bir argüman olarak dosya adı verilebilir olarak.