Je veux intégrer un script awk dans un script shell mais j'ai du mal à le faire car je ne sais pas où terminer une instruction avec un; et où pas.Écrire un script shell wrapper pour awk
Voici mon scénario
#!/bin/sh
awk='
BEGIN {FS = ",?+" }
# removes all backspaces preceded by any char except _
function format() {
gsub("[^_]\b", "")
}
function getOptions() {
getline
format()
print
}
{
format()
if ($0 ~ /^SYNOPSIS$/ {
getOptions()
next
}
if ($0 /^[ \t]+--?[A-Za-z0-9]+/) {
print $0
}
}
END { print "\n" }'
path='/usr/share/man/man1'
list=$(ls $path)
for item in $list
do
echo "Command: $item"
zcat $path$item | nroff -man | awk "$awk"
done > opts
J'utilise nawk par la voie.
Merci à l'avance
Désolé de causer beaucoup de confusion ici ^^ ... tout d'abord, j'ai posté la mauvaise version du script, qui est corrigée maintenant ... en second lieu, le script fonctionne maintenant: -) ... le raison était que j'ai oublié de mettre $ awk entre guillemets, cela m'a toujours donné une erreur de syntaxe sur la première ligne du script ... – helpermethod
Merci à tous pour vos réponses, ils ont fourni une grande perspicacité ^^ – helpermethod