[Batch]commande sed

Fermé
antheadousa - 28 mai 2014 à 16:29
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 28 mai 2014 à 17:05
Bonjour,

J'ai un petit script shell qui bouge des fichiers et lance des processus.
A un moment j'ai des fichiers dans un dossier /landed/ sous la forme:
file1.csv
file1.cvs.ingested

file2.csv
file2.cvs.ingested

J'utilise cette commande
ls |sed 's/.*\.//g'|sort|uniq -c |sort -nr
pour avoir un listing comme ca
2 csv
2 ingested

A la fin du processus j'ai mes fichiers qui se retrouvent dans un autre dossier et qui sont sous cette forme:
file1.csv.1401282121470-1-14502-127.0.1.1
file1.csv.ingested.1401282121470-1-14502-127.0.1.1

file2.csv.1401282122475-2-14502-127.0.1.1
file2.csv.ingested.1401282122475-2-14502-127.0.1.1

J'aimerais savoir comment adapter ma commande ci-dessus pour avoir le meme resultat, a savoir, sans les chiffres qui se rajoute a la fin.

2 csv
2 ingested

Si quelqu'un pouvqit ne serait-ce qu'un peu m'aiguiller ca serait super gentil :) (dsl pour les accents, mon clavier est un qwerty)
A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
28 mai 2014 à 17:05
Salut,

$ cat plop 
file1.csv.1401282121470-1-14502-127.0.1.1
file1.csv.ingested.1401282121470-1-14502-127.0.1.1

file2.csv.1401282122475-2-14502-127.0.1.1
file2.csv.ingested.1401282122475-2-14502-127.0.1.1

$ grep -Po '.*\.\K[ci][^.]*' plop | sort | uniq -c
2 csv
2 ingested
;-))
0