GNU/Linux >> Belajar Linux >  >> Linux

Manakah Yang Paling Portabel Dari Sed, Awk, Perl Dan Sh?

Dapatkah seseorang menempatkan alat-alat ini dalam rangka portabilitas? Manakah dari ini yang pasti dapat ditemukan pada sistem *nix yang paling minimal sekalipun? Apakah ada di antara mereka yang 100% pasti hadir? Dugaan saya urutannya adalah sebagai berikut:

  1. aduh
  2. sed
  3. sh
  4. perl

Sementara saya membayangkan ada sistem yang tidak default ke shell bourne, beberapa shell akan hadir sebagai default, apakah itu akan selalu di /bin/sh ? Agaknya tidak jika itu bukan shell tipe bourne. Keduanya awk dan sed memiliki halaman yang menjelaskannya tentang spesifikasi POSIX jadi mungkin mereka akan selalu ada. Benarkah?
Bisakah saya yakin bahwa keduanya akan diinstal pada * nix apa saja? Termasuk sistem tertanam?

Jawaban yang Diterima:

Manakah yang paling portabel dari sed, awk, perl, dan sh?

sed , sh dan awk portabel yang ditentukan oleh POSIX, perl bukan karena tidak didukung oleh standar.

Dapatkah seseorang mengatur alat-alat ini agar mudah dibawa?

Jika Anda tetap berpegang pada kode yang sesuai, seharusnya tidak ada urutan portabilitas untuk ketiga perintah POSIX.

Manakah dari berikut ini yang pasti dapat ditemukan pada sistem *nix yang paling minimal sekalipun?

Tiga yang POSIX bersama dengan banyak utilitas lainnya wajib untuk OS menjadi POSIX. OS yang kekurangan beberapa di antaranya karena minimisasi, atau menyediakan implementasi yang tidak lengkap/tidak sesuai.

Sebenarnya, sebagian besar (jika tidak semua) sistem operasi seperti Unix gratis dan open source mungkin tidak akan lulus proses kesesuaian jika mereka mencobanya, dan mereka tidak pernah mencobanya.

Apakah ada di antara mereka yang 100% pasti hadir?

Saya akan terkejut menemukan *nix seperti OS yang tidak memiliki shell berbasis sintaks Bourne, tetapi segala sesuatu mungkin terjadi, terutama dengan sistem yang disematkan.

Dugaan saya adalah urutannya adalah sebagai berikut:
Beberapa shell akan hadir sebagai default, apakah itu akan selalu di /bin/sh?

/bin/sh kemungkinan merupakan shell keluarga sintaksis Bourne tetapi tidak dijamin sesuai dengan POSIX, bahkan sistem yang sesuai dengan POSIX. Misalnya /usr/xpg4/bin/sh pada Solaris 10 dan yang lebih lama saat /bin/sh adalah cangkang Bourne asli lama yang bukan POSIX.

Terkait:Bagaimana cara menggunakan sed atau ex untuk mengganti blok (kode multi-baris) dengan blok teks (kode) baru?
Linux
  1. Perintah AWK Linux – Contoh Sintaks Penggunaan Linux dan Unix

  2. Bekerja Dengan Kolom – Awk Dan Sed?

  3. Apa Perbedaan Antara Print Dan Printf Dalam Awk?

  1. Perintah Sed Linux:Penggunaan dan Contoh

  2. Apa perbedaan antara grep, awk &sed?

  3. Bagaimana cara mengurangi kerentanan Spectre dan Meltdown pada sistem Linux?

  1. Metode Paling Portabel Meluncurkan Emulator Terminal?

  2. Cara Portabel (posix) Untuk Mencapai Substitusi Proses?

  3. Hapus Baris Yang Mengandung String Tertentu Dan Baris Berikut?