egrep コマンドに問題があります。コマンドを tcsh で実行すると問題なく動作しますが、tcl スクリプトまたは tclsh でコマンドを実行すると、次のようになります。
子プロセスが異常終了しました
私のTCLコード:
exec egrep -i "^(\\\s+)?(tvf::)?LAYOUT\\\s+PATH" test_file
test_file には含まれています
LAYOUT PATH "file1"
LAYOUT PATH "file2"
//LAYOUT FILE "file 3"
foo string
tvf::LAYOUT PATH "file4"
tvf::LAYOUT PATH "file5"
++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++
皆さんこんにちは、
追加の調査を行い、このコマンドを 32 ビット マシンでも実行しました。コマンドは 32 ビットの egrep で正しく動作します
結果:
LAYOUT PATH "file1"
LAYOUT PATH "file2"
tvf::LAYOUT PATH "file3"
tvf::LAYOUT PATH "file3"
ファイル /bin/egrep */bin/egrep: 「grep」へのシンボリック リンク*
ファイル /bin/grep */bin/grep: ELF 32 ビット LSB 実行可能ファイル、Intel 80386、バージョン 1 (SYSV)、GNU/Linux 2.2.5 用、動的にリンク (共有ライブラリを使用)、削除済み*
しかし、追加のバックスラッシュを削除すると:
exec egrep -i "^(\s+)?(tvf::)?LAYOUT\s+PATH" test_file
コマンドは次のエラーを返します。
子プロセスが異常終了しました
64 ビット マシンの egrep バージョンは次のとおりです。
ファイル /bin/egrep */bin/egrep: 「grep」へのシンボリック リンク*
ファイル /bin/grep */bin/grep: ELF 64 ビット LSB 実行可能ファイル、AMD x86-64、バージョン 1 (SYSV)、GNU/Linux 2.6.9 用、動的にリンク (共有ライブラリを使用)、GNU/Linux 2.6 用.9、ストリップ*