2009-08-12 8 views
-1

Дубликат: https://stackoverflow.com/questions/1259545/let-me-know-alternate-command-in-dos-for-following-sed-and-perl-commands-closedКак я могу перевести эти sed и perl однострочные в informatica?


следующие команды имеют уникальную реализацию в UNIX поле.

Необходимо реализовать в informatica (инструмент etl). Если не любые окна решения для той же

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

Эти две команды выглядят очень похоже (и в то же время) немного странно.

Оба выглядят так, как будто они пытаются удалить строку, содержащую «#», но первая удалит только один «#» в начале строки, а второй удалит только один «#» в любом месте в строке - ни одна строка не удалит!

Возможно, вам нужна версия Perl или версия sed.

sed немного более легкий, чем Perl. Вы можете get it for Windows.

СЕПГ версия команды я ожидать делать то, что вы хотите:

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 может сделать подобную вещь для вас, но это намного более тяжеловес установить.

0

Или получите MKS Toolkit (или cgywin), у нас был хороший успех, повторное использование наших же Unix-скриптов в Windows. sqplus с одной цитатой не понравилось.