जब तक आपके पास GNU 4.1.0 या बाद का समय नहीं है ...
आपके पास ऐसा विकल्प नहीं होगा जैसा कि sed के -iविकल्प के बजाय ऐसा करते हैं:
$ awk '{print $0}' file > tmp && mv tmp file
नोट: -iयह जादू नहीं है, यह एक अस्थायी फ़ाइल भी बना रहा है जो sedआपके लिए इसे संभालती है।
ग्नू के रूप में 4.1.0 जाग ...
GNU awkइस कार्यक्षमता को संस्करण 4.1.0 (10/05/2013 को जारी) में जोड़ा गया । यह -iजारी किए गए नोटों में वर्णित विकल्प के रूप में देने के लिए उतना सीधा नहीं है :
नए -i विकल्प (xgawk से) का उपयोग awk लाइब्रेरी फ़ाइलों को लोड करने के लिए किया जाता है। यह -f से अलग है कि पहले गैर-विकल्प तर्क को एक स्क्रिप्ट के रूप में माना जाता है।
आपको inplace.awkएक्सटेंशन को ठीक से इनवॉइस करने के लिए बंडल किए गए फ़ाइल शामिल करने की आवश्यकता है जैसे:
$ cat file
123 abc
456 def
789 hij
$ gawk -i inplace '{print $1}' file
$ cat file
123
456
789
चर INPLACE_SUFFIXका उपयोग बैकअप फ़ाइल के लिए एक्सटेंशन को निर्दिष्ट करने के लिए किया जा सकता है:
$ gawk -i inplace -v INPLACE_SUFFIX=.bak '{print $1}' file
$ cat file
123
456
789
$ cat file.bak
123 abc
456 def
789 hij
मुझे खुशी इस सुविधा जोड़ दिया गया है हूँ, लेकिन मेरे लिए, कार्यान्वयन बहुत awkish के रूप में सत्ता भाषा की संक्षिप्तता से आता है और नहीं है -i inplaceबहुत लंबा 8 अक्षर है imo ।
यहां आधिकारिक शब्द के लिए मैनुअल का लिंक दिया गया है।