2 fichiers cote à cote en shell
claudeJ
-
dubcek Messages postés 19021 Statut Contributeur -
dubcek Messages postés 19021 Statut Contributeur -
Bonjour,
Bonjour je cherche a faire un script en shell qui affiche cote à cote le meme nombre de caracteres de 2 fichiers.
Exemple:
fichier a.txt
bonjour le site du chat
fichier b.txt
ce forum et vraiment pratique
résultat après passage a la moulinette par le script
bonjour le|ce forum e
site du c|t vraiment
hat | pratique
j'ai trouvé un sujet sur ccm ou on parle de la commande fold -w 10 fichier.txt permet d'afficher un certains nombre de caractère.
Je suppose donc qu'il faut couplé ca à une boucle if ou peut etre que sed/awk peut etre utilisé ?
merci
Bonjour je cherche a faire un script en shell qui affiche cote à cote le meme nombre de caracteres de 2 fichiers.
Exemple:
fichier a.txt
bonjour le site du chat
fichier b.txt
ce forum et vraiment pratique
résultat après passage a la moulinette par le script
bonjour le|ce forum e
site du c|t vraiment
hat | pratique
j'ai trouvé un sujet sur ccm ou on parle de la commande fold -w 10 fichier.txt permet d'afficher un certains nombre de caractère.
Je suppose donc qu'il faut couplé ca à une boucle if ou peut etre que sed/awk peut etre utilisé ?
merci
A voir également:
- 2 fichiers cote à cote en shell
- Classic shell - Télécharger - Personnalisation
- Supercopier 2 - Télécharger - Gestion de fichiers
- Renommer des fichiers en masse - Guide
- Croix a cote contact snap - Forum Snapchat
- Point vert snapchat a cote de quelqu'un ✓ - Forum Snapchat
4 réponses
En fait tout dépend de ce que tu veux faire. Si le but c'est de comparer les fichiers peut être que ce que tu cherches est un diff (c'est typiquement ce qu'on utilise pour comparer deux fichier). A noter l'excellent kompare pour comparer deux fichiers.
http://blog.thedebianuser.org/wp-content/uploads/2006/08/komparepackagelists.png
Si les deux fichiers n'ont rien à voir mais que le placement des caractères est important, je vois bien une solution via vim à coup de vertical split :
Ici j'ai dans la colonne de gauche le fichier /etc/ssh/ssh_config et à droite le fichier /etc/bash.bashrc. J'ai obtenu ce résultat via un :
Une fois le fichier ouvert, pour ouvrir le second : echap :vs /etc/bash.bashrc. Il ne reste plus qu'à copier coller le tout à la souris (sélectionne le texte pour le copier, pour le coller utilise le clic du milieu/de la molette).
Petites précisions :
1) La disposition du texte dépend de la taille de la console.
2) Je pense qu'il est possible de déplacer la barre médiane mais je ne sais pas comment on fait. Le plus simple consiste à ouvrir vim dans un terminal, faire le vertical split, puis redimensionner la console si tu veux que les deux colonnes soient de tailles différentes.
3) Pour quitter : echap :q!
4) Tu peux déplacer le curseur avec les flèches et le changer de split avec un ctrl w w
Bonne chance
http://blog.thedebianuser.org/wp-content/uploads/2006/08/komparepackagelists.png
Si les deux fichiers n'ont rien à voir mais que le placement des caractères est important, je vois bien une solution via vim à coup de vertical split :
# Configuration data is parsed|# System-wide .bashrc file for
as follows: | interactive bash(1) shells.
# 1. command line options |
# 2. user-specific file |# To enable the settings / com
# 3. system-wide file |mands in this file for login s
# Any configuration value is o|hells as well,
nly changed the first time it |# this file has to be sourced
is set. |in /etc/profile.
# Thus, host-specific definiti|
ons should be at the beginning|# If not running interactively
of the |, don't do anything
# configuration file, and defa|[ -z "$PS1" ] && return
ults at the end. |
|# check the window size after
# Site-wide defaults for some |each command and, if necessary
commonly used options. For a |,
comprehensive |# update the values of LINES a
# list of available options, t|nd COLUMNS.
heir meanings and defaults, pl|shopt -s checkwinsize
ease see the |
<h_config [RO] 16,1 14% <h.bashrc [RO] 1,1 Haut
Ici j'ai dans la colonne de gauche le fichier /etc/ssh/ssh_config et à droite le fichier /etc/bash.bashrc. J'ai obtenu ce résultat via un :
vim /etc/ssh/ssh_config
Une fois le fichier ouvert, pour ouvrir le second : echap :vs /etc/bash.bashrc. Il ne reste plus qu'à copier coller le tout à la souris (sélectionne le texte pour le copier, pour le coller utilise le clic du milieu/de la molette).
Petites précisions :
1) La disposition du texte dépend de la taille de la console.
2) Je pense qu'il est possible de déplacer la barre médiane mais je ne sais pas comment on fait. Le plus simple consiste à ouvrir vim dans un terminal, faire le vertical split, puis redimensionner la console si tu veux que les deux colonnes soient de tailles différentes.
3) Pour quitter : echap :q!
4) Tu peux déplacer le curseur avec les flèches et le changer de split avec un ctrl w w
Bonne chance
Salut,
[tmpfs]$ cat fich1 bonjour le site du chat [tmpfs]$ cat fich2 ce forum et vraiment pratique [tmpfs]$ fold -w 10 fich1 > tmp1 [tmpfs]$ fold -w 10 fich2 > tmp2 [tmpfs]$ paste -d "|" tmp* bonjour le|ce forum e site du c|t vraiment hat| pratique [tmpfs]$,-))
Très instructif :-) Je ne connaissais pas paste.Et ça ressemble pas à une énorme bidouille scandaleuse comme j'ai proposé ;-)