Travailler sur un fichier.txt
samsoul92
Messages postés
6
Statut
Membre
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterais savoir si quelqu'un peu m'aider dans la réalisation d'un script, permettant de travailler sur un fichier.txt
fichier.txt:
-----------------------------------------------------------------------------
/apps/infocentre/unicenterDSI/dwhexeloa/jcl::/usr/bin/X11:/usr/bin:/etc:/usr/sbin:/usr/ucb/sbin:/usr/java131/jre/bin:/usr/java131/bin:/var/ifor:/usr/opt/ifor/ls/conf:/usr/opt/ifor/ls/os/aix/bin:/usr/ecc/e/usr/bin:/etc:/usr/sbin:/usr/ucbxec:/apps/unicenter/EM/3.1/bin:/apps/unicenter/EM/3.1/cadb/system:/apps/unicenter/EM/3.1/gui/bin:/apps/unicenter/EM/3.1/scripts:/apps/Ca_Shared_Components/bin:/apps/unicenter/EM/3.1/snmp/bin:/apps/unicenter/EM/3.1/tape/scripts:/apps/unicenter/EM/3.1/tape/bin/:/opt/CA/dmscript/bin:/apps/unicenter/AT/3.1/services/bin:/apps/unicenter/AT/3.1/services/tools:/apps/unicenter/AT/3.1/agents/bin:/apps/sys/unicenter/exploitation
___________________________________________________________________
Comme vous pouvez le voir il y a un separateur ":"
comment je faire pour que ce fichier s'affiche comme tel:
NewFichier.txt:
----------------------------------------------------------------
/apps/infocentre/unicenterDSI/dwhexeloa/jcl
/usr/bin
/etc
/usr/sbin
/usr/ucb
/usr/bin/X11
/sbin
/usr/java131/jre/bin
/usr/java131/bin
/var/ifor
/usr/opt/ifor/ls/conf
/usr/opt/ifor/ls/os/aix/bin
-----------------
-----------------
----------------
/apps/sys/unicenter/exploitation
--------------------------------------------------------
C'est a dire qu'a chaque ":" il fait un saut de ligne "\n"
Merci par avance de votre aide?
Cdlt
Je souhaiterais savoir si quelqu'un peu m'aider dans la réalisation d'un script, permettant de travailler sur un fichier.txt
fichier.txt:
-----------------------------------------------------------------------------
/apps/infocentre/unicenterDSI/dwhexeloa/jcl::/usr/bin/X11:/usr/bin:/etc:/usr/sbin:/usr/ucb/sbin:/usr/java131/jre/bin:/usr/java131/bin:/var/ifor:/usr/opt/ifor/ls/conf:/usr/opt/ifor/ls/os/aix/bin:/usr/ecc/e/usr/bin:/etc:/usr/sbin:/usr/ucbxec:/apps/unicenter/EM/3.1/bin:/apps/unicenter/EM/3.1/cadb/system:/apps/unicenter/EM/3.1/gui/bin:/apps/unicenter/EM/3.1/scripts:/apps/Ca_Shared_Components/bin:/apps/unicenter/EM/3.1/snmp/bin:/apps/unicenter/EM/3.1/tape/scripts:/apps/unicenter/EM/3.1/tape/bin/:/opt/CA/dmscript/bin:/apps/unicenter/AT/3.1/services/bin:/apps/unicenter/AT/3.1/services/tools:/apps/unicenter/AT/3.1/agents/bin:/apps/sys/unicenter/exploitation
___________________________________________________________________
Comme vous pouvez le voir il y a un separateur ":"
comment je faire pour que ce fichier s'affiche comme tel:
NewFichier.txt:
----------------------------------------------------------------
/apps/infocentre/unicenterDSI/dwhexeloa/jcl
/usr/bin
/etc
/usr/sbin
/usr/ucb
/usr/bin/X11
/sbin
/usr/java131/jre/bin
/usr/java131/bin
/var/ifor
/usr/opt/ifor/ls/conf
/usr/opt/ifor/ls/os/aix/bin
-----------------
-----------------
----------------
/apps/sys/unicenter/exploitation
--------------------------------------------------------
C'est a dire qu'a chaque ":" il fait un saut de ligne "\n"
Merci par avance de votre aide?
Cdlt
2 réponses
-
sed -e 's/:/\n/g' fichier.txt > nouveau_fichier.txt
Voir par exemple: sed, a stream editor
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin)-
-
-
Salut,
T'es sûr ?
$ cat fich
/apps/infocentre/unicenterDSI/dwhexeloa/jcl::/usr/bin/X11:/usr/bin:/etc:/usr/sbin:/usr/ucb/sbin:/usr/java131/jre/bin:/usr/java131/bin:/var/ifor:/usr/opt/ifor/ls/conf:/usr/opt/ifor/ls/os/aix/bin:/usr/ecc/e/usr/bin:/etc:/usr/sbin:/usr/ucbxec:/apps/unicenter/EM/3.1/bin:/apps/unicenter/EM/3.1/cadb/system:/apps/unicenter/EM/3.1/gui/bin:/apps/unicenter/EM/3.1/scripts:/apps/Ca_Shared_Components/bin:/apps/unicenter/EM/3.1/snmp/bin:/apps/unicenter/EM/3.1/tape/scripts:/apps/unicenter/EM/3.1/tape/bin/:/opt/CA/dmscript/bin:/apps/unicenter/AT/3.1/services/bin:/apps/unicenter/AT/3.1/services/tools:/apps/unicenter/AT/3.1/agents/bin:/apps/sys/unicenter/exploitation
$ sed 's/:/\n/g' fich
/apps/infocentre/unicenterDSI/dwhexeloa/jcl
/usr/bin/X11
/usr/bin
/etc
/usr/sbin
/usr/ucb/sbin
/usr/java131/jre/bin
/usr/java131/bin
/var/ifor
/usr/opt/ifor/ls/conf
/usr/opt/ifor/ls/os/aix/bin
/usr/ecc/e/usr/bin
/etc
/usr/sbin
/usr/ucbxec
/apps/unicenter/EM/3.1/bin
/apps/unicenter/EM/3.1/cadb/system
/apps/unicenter/EM/3.1/gui/bin
/apps/unicenter/EM/3.1/scripts
/apps/Ca_Shared_Components/bin
/apps/unicenter/EM/3.1/snmp/bin
/apps/unicenter/EM/3.1/tape/scripts
/apps/unicenter/EM/3.1/tape/bin/
/opt/CA/dmscript/bin
/apps/unicenter/AT/3.1/services/bin
/apps/unicenter/AT/3.1/services/tools
/apps/unicenter/AT/3.1/agents/bin
/apps/sys/unicenter/exploitation -
Je pense que cela dépend de l'environnent sur lequel on est :
Tu peux voir que cela ne fonctionne pas:
PARVA4000627 => PROD ATLAS 2 ANTILLES - GUYANE SFDI (l348902)
/home/l348902$ sed 's/:/\n/g' fichier.txt
/apps/exploit/outilsiten/apps/atlas/atlas2v0/uf1/site/outilsn/apps/atlas/atlas2v0/uf1/site/jcln/apps/atlas/atlas2v0/uf1/site/jobsetn/apps/cft/fildat/../ifcftn/home/atlasn/apps/convert/jclsiten/apps/convert/jcln/apps/convert/jobsetn/apps/orion/031/uf1/site/jcln/apps/orion/031/uf1/site/jobsetn/apps/orion/031/uf1/jobsetsiten/apps/orion/031/uf1/jclsiten/apps/orion/031/uf1/jcln/apps/orion/031/uf1/jobsetn/apps/ptcom/015/uf1/site/jcln/apps/ptcom/015/uf1/site/jobsetn/apps/ptcom/015/uf1/jobsetsiten/apps/ptcom/015/uf1/jclsiten/apps/ptcom/015/uf1/jcln/apps/ptcom/015/uf1/jobsetn/apps/basfi/020/uf1/site/jcln/apps/basfi/020/uf1/site/jobsetn/apps/basfi/020/uf1/jobsetsiten/apps/basfi/020/uf1/jclsiten/apps/basfi/020/uf1/jcln/apps/basfi/020/uf1/jobsetn/apps/evatl/003/uf1/site/jcln/apps/evatl/003/uf1/site/jobsetn/apps/evatl/003/uf1/jobsetsiten/apps/evatl/003/uf1/jclsiten/apps/evatl/003/uf1/jcln/apps/evatl/003/uf1/jobsetn/apps/sonar/020/uf1/site/jcln/apps/sonar/020/uf1/site/jobsetn/apps/sonar/020/uf1/jobsetsiten/apps/sonar/020/uf1/jclsiten/apps/sonar/020/uf1/jcln/apps/sonar/020/uf1/jobsetn/apps/atlas/atlas2v0/uf1/site/outilsn/apps/atlas/atlas2v0/uf1/site/jcln/apps/atlas/atlas2v0/uf1/site/jobsetn/apps/atlas/atlas2v0/uf1/jobsetn/apps/atlas/atlas2v0/uf1/jclsiten/apps/atlas/atlas2v0/uf1/jcln/apps/exploit/outilsoran/apps/exploit/outilsn/apps/exploit/exploitv3n/usr/binn/etcn/usr/sbinn/usr/ucbn/usr/bin/X11n/sbinn/usr/java131/jre/binn/usr/java131/binn/apps/unicenter/EM/3.1/binn/apps/unicenter/EM/3.1/cadb/systemn/apps/unicenter/EM/3.1/gui/binn/apps/unicenter/EM/3.1/scriptsn/apps/unicenter/EM/3.1/snmp/binn/apps/unicenter/EM/3.1/tape/scriptsn/apps/unicenter/EM/3.1/tape/bin/n/apps/exploit/outils/webkixn/apps/amelia/outilsn/apps/exploit/tngn/apps/exploit/outils/livraisonsn/apps/atlas/atlas2v0/uf1/tipsbinn/apps/atlas/atlas2v0/uf1/scriptsn/apps/oracle/product/920/binn/apps/xrdj/v1.1/RM_fil//binn/apps/xrdj/v1.1/RM_fil//confn/usr/includen/usr/include/sysn/apps/syncsort/3.11/binn/apps/cobol/sx4.0/binn/apps/unikix/t8.1.0p11n/apps/unikix/t8.1.0p11/binn/apps/unikix/t8.1.0p11/kixcli/binn/apps/webkix/webcli/binn/usr/java14/jre/binn/usr/java14/binn.n/apps/cft/filexen/apps/cft/filusrn/apps/cft/filexitn/apps/cft/filapin/apps/exploit/shelln/apps/exploit/shell/gestion
Par contre vi la commande ci-dessous ca a l'air d'etre correct:
PARVA4000627 => PROD ATLAS 2 ANTILLES - GUYANE SFDI (l348902)
/home/l348902$ tr ":" "\n" < patern.txt
/apps/exploit/outilsite
/apps/atlas/atlas2v0/uf1/site/outils
/apps/atlas/atlas2v0/uf1/site/jcl
/apps/atlas/atlas2v0/uf1/site/jobset
/apps/cft/fildat/../ifcft
/home/atlas
/apps/convert/jclsite
/apps/convert/jcl
/apps/convert/jobset
/apps/orion/031/uf1/site/jcl
/apps/orion/031/uf1/site/jobset
/apps/orion/031/uf1/jobsetsite
/apps/orion/031/uf1/jclsite
/apps/orion/031/uf1/jcl
/apps/orion/031/uf1/jobset
/apps/ptcom/015/uf1/site/jcl
/apps/ptcom/015/uf1/site/jobset
/apps/ptcom/015/uf1/jobsetsite
/apps/ptcom/015/uf1/jclsite
/apps/ptcom/015/uf1/jcl
/apps/ptcom/015/uf1/jobset
/apps/basfi/020/uf1/site/jcl
/apps/basfi/020/uf1/site/jobset
/apps/basfi/020/uf1/jobsetsite
/apps/basfi/020/uf1/jclsite
/apps/basfi/020/uf1/jcl
/apps/basfi/020/uf1/jobset
/apps/evatl/003/uf1/site/jcl
/apps/evatl/003/uf1/site/jobset
/apps/evatl/003/uf1/jobsetsite
/apps/evatl/003/uf1/jclsite
/apps/evatl/003/uf1/jcl
/apps/evatl/003/uf1/jobset
/apps/sonar/020/uf1/site/jcl
/apps/sonar/020/uf1/site/jobset
/apps/sonar/020/uf1/jobsetsite
/apps/sonar/020/uf1/jclsite
/apps/sonar/020/uf1/jcl
/apps/sonar/020/uf1/jobset
/apps/atlas/atlas2v0/uf1/site/outils
/apps/atlas/atlas2v0/uf1/site/jcl
/apps/atlas/atlas2v0/uf1/site/jobset
/apps/atlas/atlas2v0/uf1/jobset
/apps/atlas/atlas2v0/uf1/jclsite
/apps/atlas/atlas2v0/uf1/jcl
/apps/exploit/outilsora
/apps/exploit/outils
/apps/exploit/exploitv3
/usr/bin
/etc
/usr/sbin
/usr/ucb
/usr/bin/X11
/sbin
/usr/java131/jre/bin
/usr/java131/bin
/apps/unicenter/EM/3.1/bin
/apps/unicenter/EM/3.1/cadb/system
/apps/unicenter/EM/3.1/gui/bin
/apps/unicenter/EM/3.1/scripts
/apps/unicenter/EM/3.1/snmp/bin
/apps/unicenter/EM/3.1/tape/scripts
/apps/unicenter/EM/3.1/tape/bin/
/apps/exploit/outils/webkix
/apps/amelia/outils
/apps/exploit/tng
/apps/exploit/outils/livraisons
/apps/atlas/atlas2v0/uf1/tipsbin
/apps/atlas/atlas2v0/uf1/scripts
/apps/oracle/product/920/bin
/apps/xrdj/v1.1/RM_fil//bin
/apps/xrdj/v1.1/RM_fil//conf
/usr/include
/usr/include/sys
/apps/syncsort/3.11/bin
/apps/cobol/sx4.0/bin
/apps/unikix/t8.1.0p11
/apps/unikix/t8.1.0p11/bin
/apps/unikix/t8.1.0p11/kixcli/bin
/apps/webkix/webcli/bin
/usr/java14/jre/bin
/usr/java14/bin
.
/apps/cft/filexe
/apps/cft/filusr
/apps/cft/filexit
/apps/cft/filapi
/apps/exploit/shell
/apps/exploit/shell/gestion
__________________________________________
Une autre facon de faire:
awk -F ":" '{ for(i=1;i<=NF;i++) { print $i; } }'
_____________________________________
ou encore:
OLDIFS=$IFS
IFS=":"
for ligne in $(cat patern.txt)
do
echo $ligne
done
IFS=$OLDIFS -
-
-
hello
tr ':' '\n' < fichier.txt