SORU
7 HAZİRAN 2012, PERŞEMBE


Bash Betik yazma Ve Okuma satır satır Dosya

Betik bash yeniyim. Aşağıdaki txt dosyasını buldum.

Marco
Paolo
Antonio

Hepsini satır satır okumak istiyorum, ve her bir hat için bir değişken txt satır değeri atamak istiyorum: daha iyi açıklayabilirim (sanırım benim değişken $name), akış

Read First line from file 
 assign $name = "Marco"
...
 doing some tasks with $name
...
Read Second line from file
assign $name = "Paolo"

Eğer bir dosya okumak istersem teşekkür ederim, ve kullanarak nasıl yapmalıyım bekliyorsun? Yazdım çünkü ne zaman bunu istiyorum

bazı görevler ile $isim yapıyor

Benim görevler komut bekliyoruz demek istedim.

CEVAP
7 HAZİRAN 2012, PERŞEMBE


Aşağıdaki (rr.sh farklı kaydet) dosyası bağımsız değişken olarak satır satır geçti okur:

#!/bin/bash
while IFS='' read -r line || [[ -n "$line" ]]; do
    echo "Text read from file: $line"
done < "$1"

Açıklama:

  • IFS='' (IFS=) önde gelen/kesilen olmaktan ve sondaki boşluk önler.
  • -r yorumlanıyor gelen ters eğik çizgi kaçış önler.
  • || [[ -n $line ]] \n read EOF ile karşılaştığında, sıfır olmayan çıkış kodunu döndürür beri () ile end if değil mi göz ardı olmaktan son satırı engeller.

Aşağıdaki gibi komut dosyasını çalıştırın

chmod  x rr.sh
./rr.sh filename.txt

....

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EatingIn

    EatingIn

    12 EKİM 2013
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005
  • trickycharms

    trickycharms

    6 Aralık 2013