Travailler sur un fichier.txt
samsoul92
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 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
A voir également:
- Travailler sur un fichier.txt
- Comment travailler sur 2 écrans - Guide
- Peut on utiliser un pc gamer pour travailler - Forum Matériel & Système
- Exemplaire d'un tfc déjà travaillé ✓ - Forum Windows
- Sujet de mon TFC - Forum Bases de données
- Je cherche un bon Sujet de l'informatique de gestion g3 - Forum Programmation
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)
Ou plus simplement : Introduction à sed ;-)
Elle ne fait que remplacer le ":" par "n",
Je pense qu'il faut faire une boucle
T'es sûr ?
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
Essaye avec :