次のコマンドは、UNIX ボックスで独自の実装を持っています。
informatica(etlツール)で実装する必要があります。同じためのWindowsソリューションがない場合
sed 's/^#//g' < kam_account_calls.txt > kam_account_calls1.txt
perl -pi -e 's/#//' /coe/informatica/v712_OMJ/FAD/TgtFiles/C3i/CNTDEMO.csv
次のコマンドは、UNIX ボックスで独自の実装を持っています。
informatica(etlツール)で実装する必要があります。同じためのWindowsソリューションがない場合
sed 's/^#//g' < kam_account_calls.txt > kam_account_calls1.txt
perl -pi -e 's/#//' /coe/informatica/v712_OMJ/FAD/TgtFiles/C3i/CNTDEMO.csv
これら 2 つのコマンドは非常に似ているように見えますが、(同時に) 少し奇妙です。
どちらも「#」を含む行を削除しようとしているように見えますが、最初のものは行頭の単一の「#」のみを削除し、2 つ目は行の任意の場所にある単一の「#」のみを削除します -どちらも行全体を削除しません!
おそらく必要なのは、Perl バージョンまたはsed バージョンのいずれかです。
sed は Perl よりも少し軽量です。Windows 用に入手できます。
あなたが望むことを私が期待するコマンドのsedバージョン:
sed -i -e '/^#.*$/d' -e 's/[ \t]*#.*$//g' kam_account_calls.txt
これですべての作業が完了します。「-i」(インプレース)機能には GNU sed を使用する必要があります。上記のコマンドは次のようになります。
a,b,c
# a comment
d,e,f
# another comment
g,h,i # test comment
j,k,l # test comment with space
これに:
a,b,c
d,e,f
g,h,i
j,k,l
Perl でも同様のことができますが、インストールするのはかなり面倒です。
または、MKS Toolkit (または cgywin) を入手してください。Windows で同じ Unix スクリプトを再利用することで、大きな成功を収めています。一重引用符付きの sqplus は好まれませんでした。