我怎样才能将这些sed和perl单行翻译成informatica?

时间:2009-08-12 06:39:05

标签: perl sed etl informatica

重复:https://stackoverflow.com/questions/1259545/let-me-know-alternate-command-in-dos-for-following-sed-and-perl-commands-closed


以下命令在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 个答案:

答案 0 :(得分:2)

这两个命令看起来非常相似,并且(同时)有点奇怪。

看起来他们都试图删除包含'#'的行,但第一行只删除一行中的一个'#'而第二个只删除一个'#'这条线 - 既不会删除整条线!

您可能想要的是Perl版本 sed版本。

sed比Perl轻一点。你可以get it for Windows

我希望期望执行您想要的命令的sed版本:

sed -i -e '/^#.*$/d' -e 's/[ \t]*#.*$//g' kam_account_calls.txt

这将完成整个工作。您需要将GNU sed用于“-i”(inplace)功能。上面的命令转为:

 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可以为你做类似的事情,但安装起来要重要得多。

答案 1 :(得分:0)

或者获得MKS Toolkit(或cgywin),我们在Windows上重复使用相同的Unix脚本取得了很好的成功。单引号的sqplus不受欢迎。