Linux'un kullanışlı ve güçlü komutlarından biri "sed" komutudur. Bu komut, eşleşmeye bağlı olarak belirli bir metni veya satırı eklemek, güncellemek ve silmek gibi Linux'ta farklı türde görevleri gerçekleştirmek için kullanılır. "sed" komutunu kullanarak bir dizeye veya dosyaya farklı şekillerde metin ekleyebilirsiniz.
Bu öğreticide bir dizede veya satırda bir eşleşme bulduktan sonra nasıl satır eklenir.
Dizeye bir satır ekle
Komutta tanımlanan desen, dize değerinin herhangi bir kısmı ile eşleşirse, “sed” komutu kullanılarak herhangi bir dize değerinden sonra yeni bir satır eklenebilir.
Aşağıdaki örnek, dize değerinde herhangi bir yerde belirli bir dize varsa, bir dize değerinden sonra yeni bir satırın nasıl eklenebileceğini gösterir.
Örnek-1: Bir eşleşme bulduktan sonra bir dizeye bir satır ekleyin
Aşağıdaki komut, “Programlamayı seviyorum” dizesinde “inng” ve “Programlamayı seviyor musunuz” metin satırını arayacaktır?” arama dizesi varsa dizeden sonra eklenecektir.
Burada, dizeden sonra satırı eklemek için “&” karakteri kullanılır.
$ echo "Programlamayı seviyorum." | sed 's/inng/& Programlamayı sever misiniz?/'Aşağıdaki çıktı, dizede "inng" ifadesinin bulunmadığını ve dizeden sonra hiçbir satır eklenmediğini gösterir.
Aşağıdaki komut “ing.” dizesinde, “Programlamayı seviyorum” ve dizede var.
Aşağıdaki çıktı, dizeden sonra yeni satırın eklendiğini gösterir.
Dosyaya bir satır ekle
Aşağıda belirtilen bir dosyada bir eşleşme bulunduktan sonra satır eklemenin iki yolu vardır. "-i seçeneği" olmadan "sed" komutu kullanıldığında, dosyanın içeriği değişmeden kalır ve çıktı, eklenen yeni satırla dosya içeriğini gösterir. Dosyada eşleşen desen varsa yeni satırı kalıcı olarak dosyaya eklemek için “sed” komutuyla “-i” seçeneğini kullanmanız gerekir.
bir. “sed” komutunda “a” kullanılması
"a", "sed" in arama düzeninde, bir dosyada arama düzeninin eşleştiği satırdan sonra veya belirli bir satır numarasından sonra bir veya daha fazla satır eklemek için kullanılabilir.
B. “sed” komutunda “i” kullanılması
"i", "sed" komutunun arama kalıbında, bir dosyaya arama kalıbının eşleştiği satırdan önce bir veya daha fazla satır eklemek için kullanılabilir.
Desene göre bir dosyaya satır(lar) ekleyin:
adlı sekmeyle ayrılmış bir metin dosyası oluşturun Ürün:% s.Txt "sed" komutunda yukarıdaki bayrağın kullanımlarını göstermek için aşağıdaki içerikle.
Ürün:% s.Txt
Kimlik Ad01 Krem şanti
02 Kakao Tozu
03 Şeker
04 Yumurta
05 Un
Örnek-2: “a”yı kullanarak belirli bir satır numarasından sonra bir satır ekleyin
Aşağıdaki komutlar, ürünlerin belirli bir satır numarasından sonra yeni bir satırın nasıl eklenebileceğini gösterir.robots.txt dosyası, "sed" komutunda kullanılan desene göre.
Burada, ilk komut dosyanın mevcut içeriğini gösterecektir. "sed" komutu, dosyanın ilk iki satırından sonra "b01 Kabartma tozu" metnini ekler. Dosya içeriğinin değişip değişmediğini kontrol etmek için son komut kullanılır.
$ kedi ürünleri.Txt$ sed '2 a b01\tKabartma tozu' ürünleri.Txt
$ kedi ürünleri.Txt
Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Örnek-3: “a”yı kullanarak son satırdan sonra bir satır ekleyin
Aşağıdaki komut, dosyanın son satırından sonra yeni bir satır eklemenin yolunu gösterir. İlk ve son komut, dosyanın mevcut içeriğini “sed” komutunu çalıştırmadan önce ve sonra gösterir. Dosyanın son satırından bahsetmek için “sed” komutunun kalıbında “$” sembolü kullanılır.
$ kedi ürünleri.Txt$ sed '$ a b01\tKabartma tozu' ürünleri.Txt
$ kedi ürünleri.Txt
Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Örnek-4: “a”yı kullanarak bir desen eşleştirdikten sonra dosyanın herhangi bir yerine bir satır ekleyin
Aşağıdaki "sed" komutu, eşleşen desene göre dosyanın herhangi bir yerine yeni bir satırın nasıl eklenebileceğini gösterir. "sed" komutunda kullanılan kalıp, "s01" ile başlayan herhangi bir satırı arayacak ve ardından yeni dizeyi ekleyecektir. Dosyanın dördüncü satırı “s01” ile başlar ve yeni satır bu satırdan sonra eklenecektir.
$ kedi ürünleri.Txt$ sed'/^s01.*/a b01\tKabartma Tozu' ürünleri.Txt
$ kedi ürünleri.Txt
Komutu çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Aşağıdaki “sed” komutu, “Powder” ile biten herhangi bir satırı arayacak ve yeni satırı ondan sonra ekleyecektir. Dosyanın üçüncü satırı “Powder” ile biter. Böylece, yeni satır bu satırdan sonra eklenecektir.
$ sed '/Powder$/a b01\tKabartma Tozu' ürünleri.Txt
$ kedi ürünleri.Txt
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Örnek-5: "a" kullanarak eşleşen desenden sonra birden çok satır ekleyin
Aşağıdaki "sed" komutu, eşleşen desene dayalı olarak bir dosyanın içeriğine birden çok satır eklemenin yolunu gösterir.
Burada, kalıba göre üçüncü satırdan sonra iki satır eklenecektir.
$ kedi ürünleri.Txt$ sed '/^[a-c]/a b01\tKabartma Tozu\nb02\tKabartma Soda' ürünleri.Txt
$ kedi ürünleri.Txt
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Örnek-6: "I" kullanarak bir desen eşleştirdikten sonra bir satır ekleyin
$ kedi ürünleri.Txt$ sed '/cream/i b01\tKabartma Tozu' ürünleri.Txt
$ kedi ürünleri.Txt
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Örnek-7: “-i” seçeneğini kullanarak eşleşen desenden sonra kalıcı olarak bir satır ekleyin
Aşağıdaki “sed” komutu, dosyanın içeriğinin kalıcı olarak nasıl değiştirileceğini gösterir. “i” seçeneği, “sed” komutuyla birlikte, desene göre dosyaya yeni bir satır eklemek için kullanılır.
$ kedi ürünleri.Txt$ sed -i '/e$/a g01\tGhee' ürünleri.Txt
$ kedi ürünleri.Txt
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Sonuç:
Desenli “sed” komutunu kullanarak bir dosyaya iki veya daha fazla satır eklemenin yolları, bu öğreticide, okuyucunun desene bağlı olarak geçici veya kalıcı olarak satır eklemek için bu komutu uygulamasına yardımcı olmak için gösterilmiştir.