1

私は、kshスクリプトとPerlスクリプトを使用してデータベーステーブルからデータをインポート/エクスポートするプロジェクトに取り組んでいます。テーブルからファイルにデータをエクスポートする既存のプロセスがあり、それを別のシステムにインポートします。

キャッチは次のとおりです。エクスポートプロセスはパイプで区切られたファイルをダンプしますが、インポートを実行しているシステムは、10進数の29、16進数の1d、または8進数の35であるASCIIグループ区切り文字で区切られたファイルを予期します。viでは^]右として表示されます。現在、Perlスクリプトを介して区切り文字を変換しています。私がやりたいのは、エクスポートプロセスに、期待している区切り文字だけを使用するように指示することです。何かのようなもの:

export_table.ksh -d'\ 035'

問題は、この文字をエクスポートスクリプトに渡す方法がわからないことです。

一重引用符、二重引用符、円記号、およびこの文字の8進数と16進数のバージョンのあらゆる種類の組み合わせを試しました。

kshやPerlを使用しているSolaris10を使用しています。

4

2 に答える 2

2

やってみました:

$'\ x29'

実際にこれを試してみてください]:

echo $'\x5d'

と^

echo $'\x5e'

だからあなたはただする必要があります:

export_table.ksh -d $'\x5e\x5d'
于 2010-01-20T19:07:06.953 に答える
0

bash(1)では、文字の前に^ vを付けて、その文字を逐語的に入力できます。おそらくksh(1)は同じことをしますか?

于 2010-01-20T19:09:27.527 に答える