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, -ialors faites plutôt:
$ awk '{print $0}' file > tmp && mv tmp file
Remarque: ce -in'est pas magique, il crée également un fichier temporaire qui le sedgère juste pour vous.
À partir de GNU awk 4.1.0 ...
GNU awka 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' -ioption 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.awkfichier 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_SUFFIXpeut ê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 inplaceest de 8 caractères trop long imo .
Voici un lien vers le manuel du mot officiel.