GNU/Linux >> Linux の 問題 >  >> Linux

Sed、Awk、Perl、Shの中で最もポータブルなのはどれですか?

誰かがこれらのツールを移植性の高い順に並べることはできますか?これらのどれが特定ですか 最も最小限の*nixシステムでも見つかりますか?それらのいずれかが100%確実に存在しますか?私の推測では、順序は次のとおりです。

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

デフォルトでBourneシェルになっていないシステムがあると思いますが、いくつか シェルはデフォルトとして存在し、常に/bin/shにあります ?ボーンタイプのシェルでなければ、おそらくそうではありません。両方のawk およびsed POSIX仕様でそれらを説明するページがあるので、おそらくそれらは常に存在します。そうですか?
確信できますか 両方が*nixにインストールされますか?組み込みシステムを含みますか?

承認された回答:

sed、awk、perl、shの中で最もポータブルなものはどれですか?

sedsh およびawk POSIX、perlによって指定されているポータブルです 標準に裏打ちされていないほどではありません。

誰かがこれらのツールを移植性の高い順に並べることはできますか?

準拠コードに固執する場合、3つのPOSIXコマンドの移植性の順序はありません。

これらのうち、最も最小限の* nixシステムでさえ確実に見つかるのはどれですか?

OSがPOSIXになるには、3つのPOSIXと他の多くのユーティリティが必須です。ただし、最小化のためにそれらの一部が不足しているOS、または不完全/不適合の実装を提供しているOSは存在します。

実際、ほとんどの(すべてではないにしても)フリーでオープンソースのUnixライクなオペレーティングシステムは、試してみても適合プロセスに合格しない可能性があり、とにかく試してはいけません。

それらのいずれかが100%確実に存在しますか?

Bourne構文ベースのシェルがないOSのような*nixを見つけて驚いたでしょうが、特に組み込みシステムでは、何でも可能です。

私の推測では、順序は次のとおりです。
いくつかのシェルがデフォルトとして存在しますが、それは常に/ bin / shにありますか?

/bin/sh Bourne構文ファミリーシェルである可能性がありますが、POSIX準拠のシステムであっても、POSIX準拠であることが保証されているわけではありません。たとえば、/usr/xpg4/bin/shです。 Solaris 10以前では、/bin/sh POSIXではないレガシーのオリジナルのBourneシェルです。

関連:sedまたはexを使用して、ブロック(複数行のコード)を新しいテキストのブロック(コード)に置き換える方法は?
Linux
  1. プロセス置換を実現するためのポータブル(posix)の方法?

  2. 特定の文字列と次の行を含む行を削除しますか?

  3. AwkのPrintとPrintfの違いは何ですか?

  1. どのLinuxターミナルコマンドを最もよく使用しますか?

  2. grep、awk、sed の違いは何ですか?

  3. Linux システムの Spectre および Meltdown の脆弱性を軽減する方法は?

  1. Linux Sedコマンド:使用法と例

  2. Linux AWKコマンド–LinuxおよびUnixの使用構文の例

  3. ターミナルエミュレータを起動する最もポータブルな方法は?