CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Problème script ligne sed

Pseudo supprimé
Pseudo supprimé 05 janvier 2011 à 20:55:48

Bonsoir à tous !
Etant en iut d'informatique, je dois faire un script noté en projet.
Ma question est la suivante : j'ai un fichier du type :
" 1 10/12/2010 auteur
3 10/12/2010 auteur1
5 10/12/2010 auteur2
"

Je dois supprimer la ligne qui commence par une variable que je trouve auparavant et que je range dans une variable. ( par exemple je dois supprimer la ligne entière contenant le nombre 1 en début de ligne )

Je pensais à la commande sed, mais elle demande le numéro de la ligne et je n'arrive pas à l'obtenir.

Pouvez vous m'éclairer sur ce point la ?

Merci d'avance !

R.

guyver2
guyver2
Niveau 10
05 janvier 2011 à 21:02:09

sed peut supprimer des lignes autrement que par numéro de ligne.

http://www.commentcamarche.net/faq/4839-sed-supprimer-une-ou-plusieurs-lignes-d-un-fichier

godrik
godrik
Niveau 30
05 janvier 2011 à 21:08:47

lis la section "Addresses" du manuel de sed

Pseudo supprimé
Pseudo supprimé 05 janvier 2011 à 21:37:42

D'accord merci beaucoup.
J'ai un autre problème : Je dois vérifier dans un fichier de type tx contenant "
1 10/12/2010 auteur
3 10/12/2010 auteur1
5 10/12/2010 auteur2
"

si le nombre demandé par l'utilisateur est déja présent ( le 1 le 3 le 5)
Par exemple, s'il tape 3, le script expliquera que le nombre est déja présent, alors que si je tape 2, tout ira bien
Je pensais créer une variable comme ceci :

TMPPP=$(cat emprunts.txt | grep "^"$REF | cut -d: -f1 )
if [ $TMPPP ]

Comme ca, si elle est vide, cela signifie que le nombre n'est pas compris dans le fichier.
Le problème c'est que ca ne fonctionne pas, le TMPPP est toujours vide.
$REF contient le numéro à vérifier.

Merci d'avance !

deepblue
deepblue
Niveau 16
05 janvier 2011 à 21:49:21

Ajoutes -e à ton grep. Qui plus est, j'ai un doute sur la manière dont tu fais ton test : if [ ! -z "$TMPPP" ]

guyver2
guyver2
Niveau 10
05 janvier 2011 à 22:05:40

tu peux aussi utiliser l'option -c de grep plutot que de faire du cut deriere.

Pseudo supprimé
Pseudo supprimé 08 janvier 2011 à 19:43:25

Merci beaucoup !
Désolé de la réponse tardive, j'étais en partiel de com et de BD !
Et deepblue, je me suis trompé c'est pas if [ !z $NOM ] c'est if [ -n $NOM ] !

Maintenant j'ai un dernier problème pour vous, et mon projet de script est fini.

j'

Pseudo supprimé
Pseudo supprimé 08 janvier 2011 à 19:45:24

Désolé pour le double post.

J'ai un fichier de ce type ( txt ) :

1:nomlivre1:auteur1
2:nomlivre2:auteur2
3:nomlivre3:auteur3
etc ..

Je dois effectuer un affichage par colonne, c'est à dire dans 3 colonnes différentes : REF ( les nombres ), nomlivre, auteur.

Les colonnes doivent être faite avec des |||.
Je n'y arrive vraiment pas, même à coups de grep..

Pouvez vous m'aider ?

Merci d'avance !

R.

Pseudo supprimé
Pseudo supprimé 08 janvier 2011 à 19:47:05

Pour afficher, j'ai déja cette commande la :

while IFS=":" read ref titre auteur
do
printf " %s %s| %s\n |" $ref "$titre" "$auteur"
done < $fichier

deepblue
deepblue
Niveau 16
08 janvier 2011 à 20:01:31

[20:02] <simon@nozomi:/tmp> % cat test
1:nomlivre1:auteur1
2:nomlivre2:auteur2
3:nomlivre3:auteur3
[20:02] <simon@nozomi:/tmp> % cat test | tr : " " | awk '{ print $1" ||| "$2" ||| "$3 }'
1 ||| nomlivre1 ||| auteur1
2 ||| nomlivre2 ||| auteur2
3 ||| nomlivre3 ||| auteur3

Pseudo supprimé
Pseudo supprimé 08 janvier 2011 à 20:14:06

ah merci beaucoup, et comment je crée le nom dees colonnes, avec un espace en bas ? genre reference nomlivre auteur ? :)

Pseudo supprimé
Pseudo supprimé 08 janvier 2011 à 20:17:05

Ne marche pas chez moi, ca m'affiche en triple tous les noms.

godrik
godrik
Niveau 30
08 janvier 2011 à 22:19:07

l'option -F de awk sert a changer le delimiteur

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment