2009-08-12 6 views
-1

double: https://stackoverflow.com/questions/1259545/let-me-know-alternate-command-in-dos-for-following-sed-and-perl-commands-closedComment est-ce que je peux traduire ces sed-one et sed-one-liners en informatica?


les commandes suivantes ont mise en œuvre unique dans la boîte unix.

Nécessité de mettre en œuvre dans informatica (etl tool). Si aucune solution de fenêtres pour la même

sed 's/^#//g' <kam_account_calls.txt> kam_account_calls1.txt 

perl -pi -e 's/#//' /coe/informatica/v712_OMJ/FAD/TgtFiles/C3i/CNTDEMO.csv 

Répondre

2

Ces deux commandes semble tout à fait semblables et (en même temps) un peu étrange. Les deux ont l'air d'essayer de supprimer une ligne contenant «#», mais le premier n'enlèvera qu'un seul «#» au début d'une ligne et le second n'enlèvera qu'un seul «#» n'importe où. dans la ligne - ni enlèvera toute la ligne!

Ce que vous voulez probablement est soit la version Perl ou la version sed.

sed est un peu plus léger que Perl. Vous pouvez get it for Windows.

La version sed de la commande que j'avais attendre à faire ce que vous voulez:

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

Ça va faire tout le travail en place. Vous devrez utiliser GNU sed pour la fonctionnalité "-i" (inplace). La commande ci-dessus se présente:

a,b,c 
# a comment 
d,e,f 
# another comment 
g,h,i # test comment 
j,k,l # test comment with space 

dans ce:

a,b,c 
d,e,f 
g,h,i 
j,k,l 

Perl peut faire la même chose pour vous, mais il est beaucoup plus lourd à installer.

0

Ou obtenir MKS Toolkit (ou cgywin), nous avons eu un bon succès en réutilisant nos mêmes scripts Unix sous Windows. sqplus avec une seule citation n'a pas été aimé.

Questions connexes