Sed: Sed Terminal Komutunu Kullanarak Kabuk Komut Dosyası Oluşturmayı Öğrenme

Sed: Sed Terminal Komutunu Kullanarak Kabuk Komut Dosyası Oluşturmayı Öğrenme

Sed: Sed Terminal Komutunu Kullanarak Kabuk Komut Dosyası Oluşturmayı Öğrenme

"Sed" komutu GNU / Linux türü Özgür İşletim Sistemlerinde çok yönlü bir komuttur, çünkü sırayla Tipik olanlar olarak "etkileşimli" yerine "akışa" yönelik bir metin düzenleyici olarak kabul edilir, girdi olarak bir dosya veya standart girdi kabul ettiğinden, her satırı işler ve sonuç standart çıktıya gönderilir. Demek ki, SED (Akış Düzenleyici), bir dizi komuta veya bir komut dosyasına dayalı olarak bir dosyanın farklı satırlarının içeriğini değiştirmemize olanak tanır.

Genel olarak, "sed" komutu filtre olarak kullanılır, çünkü veri girişinizin her satırını okur ve daha sonra genellikle okuma, çıkarma, değiştirme ve gösterme veya kaydetme olan istenen eylemleri gerçekleştirir. Gücü öyle olmasına rağmen ek olarak rahat bir şekilde satırları, kayıtları silmemize veya bir dosyanın satırları içindeki karakter dizilerini değiştirmemize izin verir.

"Sed" komutuna giriş

Zaten daha önceki diğer yayınlarda DesdeLinux Bahsi geçen komutun kullanımı hakkında konuştuk ve örnekler gösterdik.gibi: Bir dosyadan belirli satırlar nasıl silinir ... y Terminal ile: Normal İfadeleri Kullanma II: Değiştirmeler, bu yüzden bu sefer doğrudan biraz daha gelişmiş ve onu kullanan pratik örnekler göreceğiz.

Temel olarak "sed" komutu aşağıdaki sözdizimine sahiptir:

sed comandos_sed archivo

nerede "Command_sed" okunan satırlarla ne yapılacağına dair bir veya daha fazla spesifikasyona karşılık gelir "Arşiv".

Daha kapsamlı bir kullanım, bize aşağıdaki sözdizimi bırakır:

sed [-ns] '[direccion] instruccion argumentos'

Nerede:

SED Komut Kullanım Formatı

Pratik örnekler

Yoldaki Dosyaları / Klasörleri Listeleme

Belirtilen bir X yolunun içeriğini listelemek ve ardından aranan öğeyi algılamak / saymak / filtrelemek ve gerçekleştirilecek sonraki bir eylemi belirtmek için kullanılabilen kullanışlı komut satırı.

ls -l | awk '{ print $NF }' | sed 1d

Örnek:

Örnek 1: SED komutu - Kabuk Komut Dosyası

"Sed" komutunu kullanan bu diğer değişken çok kullanışlıdır:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

Örnek 4: Kabuk Komut Dosyası için SED komutu

Bir sayı dizisi oluşturun

Ekranda görüntüleyin veya sayısal bir sıra (veya başka bir girdi) oluşturulmuş ancak yatay (doğrusal) ve daha sonra diğer işlemler için okunabilecek dikey formda olmayan bir dosyaya kaydedin.

seq 100|tr '\n' ' '|sed 's, $,\n,g'

Örnek 2: Kabuk Komut Dosyası için SED komutu

Aynı örnek, «komutunu birleştirerek yapılabilir.susuzluk" ile "Printf" Aşağıda gösterildiği gibi:

printf '%s ' {1..100}|sed 's/ $/\n/'

Örnek 3: Kabuk Komut Dosyası için SED komutu

Hariç tutulan dosyaları sil

Dışlanacak dosya kalıplarını aramak ve ardından içeriğin geri kalanını silmek için Dosya Sistemi yolunda eleme. Hassas ve dikkatli temizlik için çok kullanışlıdır.

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

Örnek 5: Shell_Scripting için SED komutu

Sanal bir MAC adresi oluşturun

Bu adım, tehlikeli sitelerde gezinirken veya bilgisayar korsanlığı görevlerini gerçekleştirirken bilgisayar güvenliği veya koruma görevleri için yararlı olabilir.

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

Aynı etki, aşağıda gösterildiği gibi diğer komutlarla birlikte "sed" komutunun kullanılmasıyla da elde edilebilir:

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

Örnek:

Örnek 7: Kabuk Komut Dosyası için SED komutu

Terminal İstemini geçici olarak değiştirin

Bu, özel bir etkinlik gerçekleştirirken bizim için yararlı olabilecek parametreleri istemimize geçici olarak eklememize yardımcı olabilir. Bu örnekte, yalnızca bilgi isteminin görüntülenme şeklini değiştireceğiz.

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

Örnek 8. Kabuk Komut Dosyası için SED komutu

"Ps" Komutunun çıktısını yönetin

"Ps" komutunun çıktısının, yani Terminal İşlem Yöneticisinden elde edilenin biçimlendirilmesine izin vermek için çok pratik komut sırası.

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

Örnek:

Örnek 9: Kabuk Komut Dosyası için SED komutu

Bu, tüketilen bellek yüzdesine göre işlemler için uygulanabilir:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

Umarım "sed" komutunu kullanan bu komut satırı örnekleri çok yararlı olur. Ve doğrudan konsoldan veya bir komut dosyasına eklenerek dolaylı olarak kullanılmaya hizmet ederler (otomatik görev).

Shell Scripting ile ilgili bir sonraki yazıda diğer komutları inceleyeceğiz.

"Sed" komutu hakkında biraz daha fazla bilgi edinmek isterseniz bu bağlantıyı ziyaret edin "Unix ve Linux için Eğitim ve Kısa Kılavuz"Veya"Temel kullanım»Ve kendi Blogumuzda Kabuk Komut Dosyası hakkında daha fazla bilgi edinmek istiyorsanızkonuyla ilgili diğer yayınlarımıza buraya tıklayarak göz atabilirsiniz: Komut dosyası oluşturma DesdeLinux.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.