commande linux wc format de sortie
J'ai besoin d'écrire un perl qui imitent de commande linux wc
exactement(y compris et surtout le format de sortie), tout en ayant rendu compte de la fonctionnalité, de la sortie de wc
est vraiment un mal de tête, il semble qu'il est en train de changer tout le temps, les éléments suivants sont quelques exemples(je vais utiliser
pour représenter le caractère espace)
1. wc test_input_1
⇒
705673
4234032
26754553
test_input_1
2. wc test_input_2
⇒
14
79
581
test_input_2
3. wc test_input_2 -w
⇒ 79
test_input_2
4. wc test_input_2 -wc
⇒
79
581
test_input_2
5. cat test_input_2 | wc
⇒
14
79
581
6. cat test_input_2 | wc -w
⇒ 79
7. cat test_input_2 | wc -wc
⇒
79
581
705673
4234032
26754553
test_input_1
4234032
26754553
test_input_1
26754553
test_input_1
14
79
581
test_input_2
79
581
test_input_2
test_input_2
test_input_2
79
581
test_input_2
test_input_2
14
79
581
14
79
581
14
79
581
79
581
79
581
79
581
581
581
79
581
79
581
79
581
581
581
quelqu'un sait comment wc formats de sa sortie? Toute aide est appréciée, merci beaucoup.
- Regarde comme il produit juste le nom de fichier lorsqu'il le sait. Ce qui est si compliqué? Et pourquoi avez-vous d'imiter ce au lieu de simplement
exec
ingwc
?
Vous devez vous connecter pour publier un commentaire.
Le Groupe de spécification pour
wc.
précise le format de sortie. Le nombre de places où il y a un espace dans la chaîne de format est peu important (voir Format De Fichier De Notation).Historiquement, les chiffres ont souvent été formaté pour s'occuper de sept colonnes, à l'exclusion de l'espace entre eux (certains historique de mauvaises implémentations ont inclus l'espace dans les sept colonnes, mise en œuvre d'une manière qui fait le format de sortie ambigu lorsque le nombre de caractères est supérieur à six chiffres). Certains de vos lignes de sortie semble être la mise en forme basée sur le nombre de colonnes dans le plus grand nombre affiché, d'autres semblent être à l'aide de sept colonnes.
Commencer avec
La page d'info vous donne une brève description de format de sortie. Si cela ne vous donne pas suffisamment de travailler avec, prenez le coreutils source et de lire les wc du code source.