GNU awk 4.1.0 veya sonrasına sahip değilseniz ...
Sed seçeneği gibi bir seçeneğiniz olmayacak, -i
bunun yerine şunu yapın:
$ awk '{print $0}' file > tmp && mv tmp file
Not: -i
Sihir değil, aynı zamanda geçici bir dosya oluşturmak sed
sadece sizin için ilgilenir.
GNU awk 4.1.0'dan itibaren ...
GNU awk
bu işlevi 4.1.0 sürümünde ekledi (10/05/2013 tarihinde yayınlandı) . -i
Serbest bırakılan notlarda açıklandığı gibi seçeneği vermek kadar düz bir ilerleme değildir :
Yeni -i seçeneği (xgawk'tan) awk kitaplık dosyalarını yüklemek için kullanılır. Bu, -f'den farklıdır, çünkü ilk seçenek olmayan bağımsız değişken bir komut dosyası olarak ele alınır.
inplace.awk
Uzantıyı aşağıdaki gibi düzgün bir şekilde çağırmak için birlikte verilen içerme dosyasını kullanmanız gerekir :
$ cat file
123 abc
456 def
789 hij
$ gawk -i inplace '{print $1}' file
$ cat file
123
456
789
Değişken INPLACE_SUFFIX
, bir yedekleme dosyasının uzantısını belirtmek için kullanılabilir:
$ gawk -i inplace -v INPLACE_SUFFIX=.bak '{print $1}' file
$ cat file
123
456
789
$ cat file.bak
123 abc
456 def
789 hij
Bu özellik eklendi mutluyum ama güç dilinin özlü geliyor gibi bana, uygulaması çok awkish değil -i inplace
çok uzun 8 karakterdir imo .
Resmi kelime için kılavuza bir bağlantı .