私はこのawkプログラムを実行しています:
awk -F: '{if($1=="waheed") {$2=1;print $0}}' /etc/passwd
出力は次のとおりです。
mysql 1 118 129 MySQL Server,,, /nonexistent /bin/false
セパレータなしで:
、この場合セパレータ付きで行を印刷するにはどうすればよいですか?注:これは、式を記述した後に発生しました$2=1
。
次のようにawkコマンドを直接使用できます。
awk 'BEGIN{OFS=":"} {your code here}'
引用符の開始のすべてのコードは1回だけ実行されます
-vオプションは、パラメーターをスクリプトに変換するためのものです。お気に入り:
awk '{print $pid_doc}' -v pid_doc="$Param"
この$Paramは、シェルスクリプトから指定できます。
awkでは、出力はOFS(出力フィールドseperater)変数の内容によってデフォルトでスペースで区切られます。これは、-v OFS =':'で設定できます。
awk -F : -v OFS=':' '{ cmds}' file