BASH Programming

Bash'de $IFS Nasıl Kullanılır?

Bash'de $IFS Nasıl Kullanılır?
Komut dosyası oluşturmada, çeşitli nedenlerle dize verilerini kırmalıyız. Split, her veri dizisini çeşitli parçalara bölen birçok bilgisayar dilinde entegre bir özelliktir. Ancak bash, bir dizeyi bölmek için yerleşik bir özellikten yoksundur. Herhangi bir dize değerini kırmak için kullanılacak birçok tek ve bileşik sınırlayıcı vardır. Dize bölümü için belirli bir sınırlayıcı belirtmek için bir IFS (Dahili Alan Ayırıcı) değişkeni kullanılıyor. Bu kılavuzda, $IFS kullanarak bash'ta bir dize değerini kırma işlemini göstermek için çeşitli yöntemlerin nasıl kullanılacağını öğreneceksiniz.

Önkoşullar

Linux tabanlı sistemin kurulu ve yapılandırılmış olduğundan emin olun. Ubuntu 20 üzerinde çalışacağız.04 Linux sistemi. IFS üzerinde çalışmaya başlamak için Ubuntu hesabı kullanıcınızdan giriş yapın. Kök kullanıcı hesabınızdan giriş yaparsanız daha iyi olacaktır. Giriş yaptıktan sonra, Aktivite alanından sisteminizde komut satırı terminalini başlatın.

Örnek 01: IFS Değer Olarak Boşluk Kullanarak Bir Dizeyi Bölme

İlk örneğimiz için, IFS değişkenini kullanarak bir sınırlayıcı değer olarak boşluk kullanırken bash'ta bir dizgiyi bölme kavramını anlayacağız. Öncelikle sistemimizde bir bash dosyası oluşturmalıyız. 'touch' komutunu kullanarak Linux sistemimizde yeni dosyalar oluşturabiliriz. Aşağıda gösterildiği gibi, bir bash dosyası 'file1 oluşturduk.'dokunma' talimatını kullanarak:

$ dokunma dosyası1.ş

Ubuntu 20'nizin sol köşesinde görüntülenen klasör simgesini kullanarak Linux sisteminizin Ana dizinini açın.04 masaüstü. Yeni oluşturduğunuz bash dosyanızı “file1” bulacaksınız.ş" içinde. "dosya1" dosyasını açın.sh ”ve aşağıdaki betiği yazın. İlk olarak, içinde bazı string değerleri olan “str” adında bir string tanımladık. Ardından, değeri boşluk olan bir değişken olarak bir sınırlayıcı değişken IFS tanımlarız. Bundan sonra, “-a” bayrağını kullanarak bölünmüş verileri “strarr” dizisine kaydetmek ve okumak için read ifadesini kullandık. "$#strarr[*]" kullanarak bir dizinin toplam kelime sayısıyla birlikte bir dize satırı yazdırmak için bir 'echo' ifadesi kullanılır. "For" döngüsü, "var" değişkenini kullanarak bir dizinin değerlerini bölünmüş biçimde yazdırmak için kullanılır. Dizinin her değerinden sonra bir satırlık bir bölme sonu vermek için "\n" ters eğik çizgisi, "var" değişkeni ile birlikte baskı satırında kullanılmıştır. Komut dosyasını “Ctrl+S” tuşunu kullanarak kaydedin ve devam etmek için dosyayı kapatın.

Terminal tarafına geri dönün. Şimdi yukarıdaki kodun çıktısını kontrol edeceğiz. Bunun için “file1” dosyasının adı ile birlikte 'bash' komutunu kullanacağız.sh ”aşağıda gösterilen yürütmek için. İlk olarak, bir dizinin kelime sayısıyla birlikte “echo” ifadesinde belirtilen satırı gösterdi. Bundan sonra, IFS tarafından bölünmüş “for” döngüsünü kullanarak dizinin tüm değerlerini gösterdi.

$ bash dosyası1.ş

Örnek 02: IFS Bir Dizeyi Değer Olarak Karakter kullanarak Bölme

Yukarıda bahsedilen örnekte, IFS'nin sınırlayıcısı olarak boşluk kullanılırken dize değişkenlerinin parçalara nasıl bölüneceğini gördünüz. Şimdi, bir IFS sınırlayıcı kullanarak bir dizgiyi bölmek için bir karakter kullanacağız. Komut terminalinizi açın ve yeni bir “file2” bash dosyası oluşturun.sh” dosyasını aşağıdaki gibi “touch” komutunu kullanarak Linux sisteminin ana dizininizde kullanın:

$ dokunma dosyası2.ş

Linux sisteminizin ana dizinini açın. Yeni oluşturulan dosyanızı içinde bulacaksınız. Yeni oluşturduğunuz dosyanızı açın ve aşağıda sunulan bash kodunu yazın. 3. satırda, bir satır yazdırmak için bir "eko" ifadesi başlattık. Sonraki satır, "read" anahtar sözcüğünü kullanarak bir kullanıcı tarafından bir terminalde verilen girişi okur. Ardından, “IFS” sınırlayıcısını tanımladık ve karakter değeri olarak virgül “” belirledik. Kullanıcı tarafından "strarr" dizisine girilen bir dizenin virgülle bölme değerlerini okumak ve kaydetmek için başka bir "read" ifadesi belirtildi. Sonunda, resimde gösterildiği gibi virgülle ayrılmış bölünmüş değerleri değişkenler olarak yazdırmak için üç eko ifadesi başlattık. Bu dosyayı kaydedin ve kapatın.

Şimdi, bu kaydedilen dosyayı yürütmeliyiz. Bunu yapmak için aşağıda gösterilen bash komutunu ve ardından bir terminaldeki bir dosyanın adını yürütün. Değerler içinde virgül "" içermesi gereken bir dize değeri eklemeniz ve Enter düğmesine basmanız gerekir. Artık verileriniz bir "strarr" dizisine kaydedildi. Son üç satır, “echo” ifadelerinin çıktısını gösterir. Virgülden önceki ve sonraki her metnin ayrı bir değer olarak kullanıldığını görebilirsiniz.

$ bash dosyası2.ş

Örnek 03: IFS Bölünmüş Dize

Her iki önceki örneği de bir bash dosyasında yaptık. Şimdi bir bash dosyası oluşturmadan “IFS” kullanmanın bir örneğine sahip olacağız. Bunu yapmak için komut kabuğunuzu açın. İlk olarak, içinde string değeri olan bir "var" stringi oluşturmamız gerekiyor. Bu dize, her kelimeden sonra virgül içerir.

$ var=”Merhaba, ben, 25 yaşındayım, yaşındayım.”

Ardından, sınırlayıcı değer olarak virgül karakteriyle 'IFS' değişkenini başlatın.

$ IFS=,

Bundan sonra, bir IFS sınırlayıcı virgülle ayrılmış “var” değişkenindeki her bir kelimeyi aramak ve “echo” ifadesini kullanarak yazdırmak için “for” döngüsünü kullandık.

$var içinde i için $
>yap
>eko [$i]
>Bitti

Aşağıdaki çıktıya sahip olacaksınız. Bölünmüş karakter olarak kullanılan sınırlayıcı virgül "" nedeniyle, "var" dize değişkeninin her kelimesini yeni bir satırda gösterecektir.

Sonuç:

Bu kılavuzda, bir bash, e'de giriş değerlerini bölmek için çeşitli yöntemler öğrendiniz.g., boşluklu veya karakterli. Bu eğitim kılavuzunda bahsedilen çizimlerin, IFS sınırlayıcıyı kullanarak her dizeyi kırmanıza yardımcı olacağını umuyoruz.

Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...