Sauf si vous avez GNU awk 4.1.0 ou version ultérieure ...
Vous n'aurez pas une telle option que l'option de sed, -i
alors faites plutôt:
$ awk '{print $0}' file > tmp && mv tmp file
Remarque: ce -i
n'est pas magique, il crée également un fichier temporaire qui le sed
gère juste pour vous.
À partir de GNU awk 4.1.0 ...
GNU awk
a ajouté cette fonctionnalité dans la version 4.1.0 (publiée le 10/05/2013) . Ce n'est pas aussi simple que de donner simplement l' -i
option décrite dans les notes publiées:
La nouvelle option -i (de xgawk) est utilisée pour charger les fichiers de bibliothèque awk. Cela diffère de -f en ce que le premier argument sans option est traité comme un script.
Vous devez utiliser le inplace.awk
fichier d'inclusion fourni pour appeler l'extension correctement comme suit:
$ cat file
123 abc
456 def
789 hij
$ gawk -i inplace '{print $1}' file
$ cat file
123
456
789
La variable INPLACE_SUFFIX
peut être utilisée pour spécifier l'extension d'un fichier de sauvegarde:
$ gawk -i inplace -v INPLACE_SUFFIX=.bak '{print $1}' file
$ cat file
123
456
789
$ cat file.bak
123 abc
456 def
789 hij
Je suis heureux de cette fonctionnalité a été ajoutée mais pour moi, la mise en œuvre est pas très awkish que le pouvoir vient de la concision de la langue et -i inplace
est de 8 caractères trop long imo .
Voici un lien vers le manuel du mot officiel.