Je suis en train d'écrire un script awk qui prendra la sortie de grep et gèrera joliment le formatage dans un tableau HTML. Le délimiteur est le caractère ":"; le problème que je rencontre est que ce personnage peut aussi apparaître dans le texte. Donc, si je n'utilise que $ 1, $ 2 et $ 3 pour le nom de fichier, le numéro de ligne et le commentaire respectivement, je perds tout ce qui suit:Extraction de plusieurs colonnes sans boucle
Y a-t-il un moyen de dire $ 1, $ 2, puis $ 3? .NR sans explicitement en boucle sur les colonnes et en les concaténant ensemble?
est ici le script jusqu'à présent:
`
#!/usr/bin/awk
BEGIN {
FS=":"
print "<html><body>"
print "<table>"
print "<tr><td>File name</td><td>Line number</td><td>Comment</td></tr>"
}
{
print "<tr><td>" $1 "</td><td>" $2 "</td><td>" $3 "</td></tr>"
}
END {
print "</table>"
print "</body></html>"
}`
Et une entrée exemple:
./mysql-connector-java-5.0.8/src/com/mysql/jdbc/BlobFromLocator.java:177: // TODO: Make fetch size configurable
./mysql-connector-java-5.0.8/src/com/mysql/jdbc/CallableStatement.java:243: // TODO Auto-generated method stub
./mysql-connector-java-5.0.8/src/com/mysql/jdbc/CallableStatement.java:836: // TODO: Do this with less memory allocation
C'est intelligent. Mais vous devez être sur un vrai système Unix ou un BSD, pour Gawk je pense que vous avez juste besoin. 'BEGIN {FS =": "; } 'Même sur oawk pourquoi mettre OFS? – DigitalRoss
J'ai essayé sans modifier OFS au début, mais les colonnes ont été changées en espaces dans le champ de commentaire. – ffx