-6

内部でawkスクリプトを呼び出すシェルスクリプトプログラムを使用しています...しかし、いくつかの問題があるため、スクリプト全体をawkに変更する予定です..シェルにいくつかのコマンドがあることを知りたいだけですそれらがawkで実行できるかどうか知りたいです。

1) ls, cd, zcat .. もし私ができるなら、どうすればいいですか.. これに関していくつかの提案をしてください. ありがとうございました。

4

2 に答える 2

3

リストしたシェルコマンドや外部ユーティリティは、AWKsystem()関数で実行できます。cd何をしているのかによっては、必要ないかもしれませんls。のようなものzcatをで呼び出すことができsystem()、出力はを使用して読み取ることができますgetline

cmd = "zcat filename"
while ((cmd | getline) > 0 {
    # do something with the data
}
close(cmd)
于 2012-07-18T01:19:20.790 に答える
2

スタックオーバーフローへようこそ。これはプログラミングリソースです。最良の回答が得られる質問には、ソース コード、入力データ、期待される結果、および実際の結果が含まれる傾向があります。物事に挑戦して失敗し、ここに来て具体的な質問をすると、より良い答えが得られます。

man awkつまり、シェルから実行することで、awk 内で使用できるコマンドを見つけることができます。一般に、 /bin または /usr/bin 内のlsandzcatおよびすべては、シェルに「組み込まれている」ものではなく、ほとんどの場合、対話型コマンド ラインまたはスクリプトから呼び出すことができる外部プログラムであることに注意してください。言語。明確にするために: lsandzcatは awk の一部ではなく、/bin/sh の一部でもありません。

awk にはさまざまなバージョンがあり、さまざまな動作とさまざまなコマンドが利用可能です。使用しているツールが不明なため、独自のシステムから最適なドキュメントを入手できます。

だから...この質問のために、あなたのシェルスクリプトを見せて、それをawkスクリプトにしようとしたことを見せて、あなたが抱えている特定の問題について質問してください。あなたのコードを見なければ、あなたがしたいことがシェルで可能であるかどうかを知る方法はありません.awkは言うまでもありません.

于 2012-07-18T01:17:24.327 に答える