KSH extraction de variable dans un fichier
Résolu
caro
-
caro -
caro -
A voir également:
- KSH extraction de variable dans un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
6 réponses
Salut,
Rien compris ;-((
Il doit ressembler à quoi ton fichier final par rapport à ton fichier original ?
Rien compris ;-((
Il doit ressembler à quoi ton fichier final par rapport à ton fichier original ?
A tout hasard, c'est ça que tu veux ?
$ cat plop return ${EXPORT_RETOUR_ERREUR} if [ ${status} -ne ${EXPORT_RETOUR_OK} && ${status} -ne ${EXPORT_REP} ]] ; then return ${EXPORT_ERREUR} name="${EXPORT_COND_PREFIX}???${CLE_IMS}*" commande="${EXPORT_DELETECOND_COMMAND} -DELETE ${name} ${mmdd}" if [[ ${status} -ne ${EXPORT_RETOUR_OK} && ${status} -ne ${EXPORT_RETOUR_ERREUR} ]] ; then return ${EXPORT_RETOUR_ERREUR} return ${EXPORT_RETOUR_OK} return ${EXPORT_RETOUR_ERREUR} if [ ${status} -ne ${EXPORT_RETOUR_OK} ] ; then $ egrep -o '\$\{EXPORT[^}]*\}' plop | sort -u ${EXPORT_COND_PREFIX} ${EXPORT_DELETECOND_COMMAND} ${EXPORT_ERREUR} ${EXPORT_REP} ${EXPORT_RETOUR_ERREUR} ${EXPORT_RETOUR_OK}
Oui c'est tout a fait ca ... en clair j'ai n fichiers au depart contenant des lignes avec des variables ${EXPORT_xxxxx} le but du jeu c'est de creer une sorte de dictionnaire recensant toutes les variables ${EXPORT_xxxxx} utilisées dans les differents fichiers. Donc merci beaucoup pour ta rapidité .... je galere depuis ce matin car avant de demander j'ai essayé plusieurs solutions fournie sur Internet ... donc grand merci
Caro
Caro
Salut,
merci pour la reponse mais l'option -o ne marche pas vaec le egrep
egrep: illegal option -- o
usage: egrep [ -bchilnsv ] [ -e exp ] [ -f file ] [ strings ] [ file ] ...
En entree mon fichier contient n lignes :(c'est en fait le resultat d'un grep fait sur plusieurs fichiers : ce grep portant sur la variable EXPORT)
return ${EXPORT_RETOUR_ERREUR}
if [ ${status} -ne ${EXPORT_RETOUR_OK} ] ; then
return ${EXPORT_RETOUR_ERREUR}
name="${EXPORT_COND_PREFIX}???${CLE_IMS}*"
commande="${EXPORT_DELETECOND_COMMAND} -DELETE ${name}"
if [[ ${status} -ne ${EXPORT_RETOUR_OK} && ${status} -ne ${EXPORT_RETOUR_ERREUR} ]] ; then
return ${EXPORT_RETOUR_ERREUR}
return ${EXPORT_RETOUR_OK}
return ${EXPORT_RETOUR_ERREUR}
if [ ${status} -ne ${EXPORT_RETOUR_OK} ] ; then
return ${EXPORT_RETOUR_ERREUR}
${EXPORT_RMDIR} "${rep_prod}"
if [ ${status} -ne ${EXPORT_RETOUR_OK} ] ; then
return ${EXPORT_RETOUR_ERREUR}
return ${EXPORT_RETOUR_OK}
return ${EXPORT_RETOUR_ERREUR}
fin ${EXPORT_NUMJOB_HOLD_JOBS_OK}| \
return${EXPORT_NUMJOB_DOCID_COLLECTION}| \
Info ${EXPORT_NUMJOB_PO_COLLECTION}| \
return ${EXPORT_NUMJOB_END_PRODUCTION})
groupe=${EXPORT_GROUPE_PREFIX}-${DATE_REVISION}${EXPORT_ACPROGRAM}
${EXPORT_NUMJOB_PO_VALIDATION}| \
${EXPORT_NUMJOB_CUSTO_INITIALISATION}| \
${EXPORT_NUMJOB_DATA_RECEPTION}| \
${EXPORT_NUMJOB_PUB_GENERATION}| \
Ajoute " -do ${EXPORT_DESTINATAIRE_COURRIER} V "${EXPORT_TAG}
commande="java -jar ${EXPORT_AGT_NAME} -t ${EXPORT_AGT} "
Apres tri et extraction des variables de type ${EXPORT_xxxx} Mon fichier en sortie doit avoir cette tête
${EXPORT_NUMJOB_CUSTO_INITIALISATION}${EXPORT_NUMJOB_DATA_RECEPTION}
${EXPORT_NUMJOB_DOCID_COLLECTION}
${EXPORT_NUMJOB_END_PRODUCTION}
${EXPORT_DESTINATAIRE_COURRIER}
${EXPORT_NUMJOB_HOLD_JOBS_OK}
${EXPORT_NUMJOB_PO_COLLECTION}
${EXPORT_NUMJOB_PO_VALIDATION}
${EXPORT_NUMJOB_PUB_GENERATION}
${EXPORT_RMDIR}
.........
Comme le egrep avec l'option -o ne marche pas chez moi j'ai essaye la commande sans cette option et bref ca ne fait toujours pas ce que je veux
Grand merci a ceux qui ont une idée ....
merci pour la reponse mais l'option -o ne marche pas vaec le egrep
egrep: illegal option -- o
usage: egrep [ -bchilnsv ] [ -e exp ] [ -f file ] [ strings ] [ file ] ...
En entree mon fichier contient n lignes :(c'est en fait le resultat d'un grep fait sur plusieurs fichiers : ce grep portant sur la variable EXPORT)
return ${EXPORT_RETOUR_ERREUR}
if [ ${status} -ne ${EXPORT_RETOUR_OK} ] ; then
return ${EXPORT_RETOUR_ERREUR}
name="${EXPORT_COND_PREFIX}???${CLE_IMS}*"
commande="${EXPORT_DELETECOND_COMMAND} -DELETE ${name}"
if [[ ${status} -ne ${EXPORT_RETOUR_OK} && ${status} -ne ${EXPORT_RETOUR_ERREUR} ]] ; then
return ${EXPORT_RETOUR_ERREUR}
return ${EXPORT_RETOUR_OK}
return ${EXPORT_RETOUR_ERREUR}
if [ ${status} -ne ${EXPORT_RETOUR_OK} ] ; then
return ${EXPORT_RETOUR_ERREUR}
${EXPORT_RMDIR} "${rep_prod}"
if [ ${status} -ne ${EXPORT_RETOUR_OK} ] ; then
return ${EXPORT_RETOUR_ERREUR}
return ${EXPORT_RETOUR_OK}
return ${EXPORT_RETOUR_ERREUR}
fin ${EXPORT_NUMJOB_HOLD_JOBS_OK}| \
return${EXPORT_NUMJOB_DOCID_COLLECTION}| \
Info ${EXPORT_NUMJOB_PO_COLLECTION}| \
return ${EXPORT_NUMJOB_END_PRODUCTION})
groupe=${EXPORT_GROUPE_PREFIX}-${DATE_REVISION}${EXPORT_ACPROGRAM}
${EXPORT_NUMJOB_PO_VALIDATION}| \
${EXPORT_NUMJOB_CUSTO_INITIALISATION}| \
${EXPORT_NUMJOB_DATA_RECEPTION}| \
${EXPORT_NUMJOB_PUB_GENERATION}| \
Ajoute " -do ${EXPORT_DESTINATAIRE_COURRIER} V "${EXPORT_TAG}
commande="java -jar ${EXPORT_AGT_NAME} -t ${EXPORT_AGT} "
Apres tri et extraction des variables de type ${EXPORT_xxxx} Mon fichier en sortie doit avoir cette tête
${EXPORT_NUMJOB_CUSTO_INITIALISATION}${EXPORT_NUMJOB_DATA_RECEPTION}
${EXPORT_NUMJOB_DOCID_COLLECTION}
${EXPORT_NUMJOB_END_PRODUCTION}
${EXPORT_DESTINATAIRE_COURRIER}
${EXPORT_NUMJOB_HOLD_JOBS_OK}
${EXPORT_NUMJOB_PO_COLLECTION}
${EXPORT_NUMJOB_PO_VALIDATION}
${EXPORT_NUMJOB_PUB_GENERATION}
${EXPORT_RMDIR}
.........
Comme le egrep avec l'option -o ne marche pas chez moi j'ai essaye la commande sans cette option et bref ca ne fait toujours pas ce que je veux
Grand merci a ceux qui ont une idée ....
Normal sans cette option le résultat ne peut être le même ;-(
Voir la proposition avec sed : https://forums.commentcamarche.net/forum/affich-25169753-ksh-extraction-de-variable-dans-un-fichier#5
Voir la proposition avec sed : https://forums.commentcamarche.net/forum/affich-25169753-ksh-extraction-de-variable-dans-un-fichier#5
Merci cette solution marche mais par sur tout mon fichier je viens d'isoler les lignes pour lesquelles en sortie je n'ai pas ma variable EXPORT_ traitée :
Voila mon fichier
${EXPORT_NUMJOB_PUB_GENERATION}|
Ajoute -dot ${EXPORT_DEST_COURRIER} V \${EXPORT_TAG_COURRIER}
java -jar ${EXPORT_AGT_NAME} -t ${EXPORT_FOR_AGT} ${PARAM_AGT_LOG}
java -jar ${EXPORT_AGT_NAME} -t ${EXPORT_AGT_DIR} ${EXPORT_CMD_SPEC}
et le resultat :
${EXPORT_CMD_SPEC}
${EXPORT_FOR_AGT}
${EXPORT_NUMJOB_PUB_GENERATION}
${EXPORT_TAG_COURRIER}
il manque en sortie :
${EXPORT_DEST_COURRIER}
${EXPORT_AGT_NAME}
${EXPORT_AGT_DIR}
je cherche de mon coté ... merci en tout cas
Voila mon fichier
${EXPORT_NUMJOB_PUB_GENERATION}|
Ajoute -dot ${EXPORT_DEST_COURRIER} V \${EXPORT_TAG_COURRIER}
java -jar ${EXPORT_AGT_NAME} -t ${EXPORT_FOR_AGT} ${PARAM_AGT_LOG}
java -jar ${EXPORT_AGT_NAME} -t ${EXPORT_AGT_DIR} ${EXPORT_CMD_SPEC}
et le resultat :
${EXPORT_CMD_SPEC}
${EXPORT_FOR_AGT}
${EXPORT_NUMJOB_PUB_GENERATION}
${EXPORT_TAG_COURRIER}
il manque en sortie :
${EXPORT_DEST_COURRIER}
${EXPORT_AGT_NAME}
${EXPORT_AGT_DIR}
je cherche de mon coté ... merci en tout cas
Effectivement ;-((
;-))
$ cat brol ${EXPORT_NUMJOB_PUB_GENERATION}| Ajoute -dot ${EXPORT_DEST_COURRIER} V \${EXPORT_TAG_COURRIER} java -jar ${EXPORT_AGT_NAME} -t ${EXPORT_FOR_AGT} ${PARAM_AGT_LOG} java -jar ${EXPORT_AGT_NAME} -t ${EXPORT_AGT_DIR} ${EXPORT_CMD_SPEC} $ sed -n 's/[^$]*\(${EXPORT[^}]*}\)[^$]*/\1\n/gp' brol | sort -u ${EXPORT_AGT_DIR} ${EXPORT_AGT_NAME} ${EXPORT_CMD_SPEC} ${EXPORT_DEST_COURRIER} ${EXPORT_FOR_AGT} ${EXPORT_NUMJOB_PUB_GENERATION} ${EXPORT_TAG_COURRIER} ${PARAM_AGT_LOG} $
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup mais Bon moi je dois avoir un environnement pourri parce que ça ne marche vraiment pas :
J'ai le mm fichier de depart que toi et apres le sed j'ai le resultat suivant :
${EXPORT_AGT_NAME}n$${EXPORT_CMD_SPEC}n
${EXPORT_AGT_NAME}n${EXPORT_FOR_AGT} ${PARAM_AGT_LOG}
${EXPORT_DEST_COURRIER}n${EXPORT_TAG_COURRIER}
${EXPORT_NUMJOB_PUB_GENERATION}n
... je suppose que les n c'est du retour chariot !!!
J'ai le mm fichier de depart que toi et apres le sed j'ai le resultat suivant :
${EXPORT_AGT_NAME}n$${EXPORT_CMD_SPEC}n
${EXPORT_AGT_NAME}n${EXPORT_FOR_AGT} ${PARAM_AGT_LOG}
${EXPORT_DEST_COURRIER}n${EXPORT_TAG_COURRIER}
${EXPORT_NUMJOB_PUB_GENERATION}n
... je suppose que les n c'est du retour chariot !!!