Rechercher : dans
Par :

Detecter absence de balise shell linux

Dernière réponse le 23 mar 2009 à 20:04:50 DOVO, le 23 mar 2009 à 18:36:52 
 Signaler ce message aux modérateurs

Bonjour,
Je code actuellement un petit programme shell, celui ci ouvre un fichier .txt et détecte la présence de balise en début de ligne, exemple de balise:
"T "
"C "
"H " ....
Je souhaiterai pouvoir detecter l'absence de balise dans mon programme:
exemple:
contenu dans le fichier .txt
"je suis bloqué dans mon programme"
Il faudrait convertir cette lligne en:
"<p>je suis bloqué dans mon programme</p>"

Aidez moi svp!!!!

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « detecter absence de balise shell linux » dans :
[Shell] Accès aux dernières commandes de l'historique Voir Le shell Linux/Unix regorge de fonctionnalités permettant de gagner du temps. Ainsi, il est possible de remonter dans l'historique des dernières commandes grâce aux flèches de navigation en appuyant sur la flèche du haut. Mais il y a moyen...
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
Se logguer à distance avec ssh (Linux) Voir(Pour ceux qui voudraient avoir un rappel sur SSH) Les commandes suivantes nécessitent d'avoir un compte sur la machine sur laquelle on veut se connecter et qu'un serveur SSH y soit installé. Sous Linux, la syntaxe est simple (le client...
Coloration du shell (bash) VoirPourquoi le faire? Quelles informations peuvent être transmises par les couleurs? Les techniques Technique de tput Pourquoi le faire? En personnalisant la couleur des caractères de l'invite (ou du shell), vous la rendez plus lisible. Si...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...
Linux - Ordonnancement des taches VoirIntroduction à l'ordonnancement des tâches L'ordonnancement des tâches consiste à exécuter automatiquement une tâche (une application, une commande, ...) à intervalles de temps réguliers ou bien à des moments précis. Généralement ce type de...
Systèmes de détection d'intrusion (IDS) VoirIntroduction aux systèmes de détection d'intrusions On appelle IDS (Intrusion Detection System) un mécanisme écoutant le trafic réseau de manière furtive afin de repérer des activités anormales ou suspectes et permettant ainsi d'avoir une action de...

1

fiddy, le 23 mar 2009 à 18:45:44
  • +1

Salut,
T'aurais pu dire que ça marchait la solution sur l'ancienne conversation ;-) : http://www.commentcamarche.net/forum/affich 11665640 remplacer balises shell?#3

De plus, la solution est la même :
s#(.*)#<p>\1</p>#

Sinon, je ne vois pas le lien entre tes balises T, C, H et ton exemple ?
Google is your friend

Répondre à fiddy

2

DOVO, le 23 mar 2009 à 19:02:40

Merci pour ton aide précieuse.
Pour les balises "T ", "C "....en fait je souhaite rajouter une balise lorsque je renconctre ces motifs en début de ligne et seulement si il n'y a pas de balise spécifique je souhaite rajouter une balise <p>

par exemple:
si j'ai dans mon fichier.txt:
"H comment ca marche
bonjour voici le corps du programme

T GRAND titre 1
slidglisrg sdkf
"
je souhaite obtenir le fichier suivant
<title>comment ca marche</title>
<p>bonjour voici le corps du programme</p>
<h1>GRAND titre 1</h1>
<p>slidglisrg sdkf </p>

J'ai vraiment beaucoup de mal avec les sed... voila la commande que j'ai tappé:

cat fichier_de_donnees.txt | sed #(.*)#<p>\1</p>#>>fichier_de_donnees.xml

et voila le message d'erreur renvoyé:


Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

-n, --quiet, --silent
suppress automatic printing of pattern space
-e script, --expression=script
add the script to the commands to be executed
-f script-file, --file=script-file
add the contents of script-file to the commands to be executed
--help display this help and exit
-V, --version output version information and exit

If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret. All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.

E-mail bug reports to: bug-gnu-utils@gnu.org .
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.

Répondre à DOVO

3

 fiddy, le 23 mar 2009 à 20:04:50

cat fichier_de_donnees.txt | sed #(.*)#<p>\1</p>#>>fichier_de_donnees.xml
Tu as oublié le s devant le #.

Sinon, tu peux utiliser :

cat fichier_de_donnees.txt | sed -r 
's#T (.*)#<title>\1</title># ; tn;
s#S (.*)#<h1>\1</head># ;tn; 
s#.*#<p>&</p>#
:n'

Attention, il faut que les paragraphes n'aient pas de \n, sinon cela mettra un <p></p> autour de chaque ligne.
Si cela te gène, le script est modifiable ;-)).
Google is your friend

Répondre à fiddy