J'ai un grand ensemble (600 impair) de termes de recherche et de remplacement que je dois exécuter en tant que script sed sur certains fichiers. Le problème est que les termes de recherche ne sont PAS orthogonaux ... mais je pense que je peux m'en tirer en triant par longueur de ligne (c'est-à-dire en retirant les plus longues correspondances, puis alphabétiquement dans chaque longueur.Comment trier par longueur de ligne, puis inverser alphabétiquement
aaba
aa
ab
abba
bab
aba
ce que je veux est trié fixé comme:
abba
aaba
bab
aba
ab
aa
est-il possible de le faire en dire préfixer la longueur de la ligne et le tri par un champ
Pour bonus? des notes :-) !!! La recherche et le remplacer est en fait tout simplement un cas de remplacement terme avec _term_ et le code sed j'allais utiliser était s/term/_term_/g Comment puis-je écrire l'expression rationnelle pour éviter de remplacer les termes déjà à l'intérieur _ paires?
Ne devriez-vous toujours pas trier les articles par longueur? Ou y aura-t-il une sorte de match gourmand qui correspondra toujours à la chaîne la plus longue possible? – mob
... en plus, c'est une ligne longue pour 600 items ;-) mais peut-être je peux la diviser en plus de lignes ... – Dycey
Pas besoin de ça: Une expression régulière trouvera toujours la plus longue correspondance. –