GNU/Linux >> Linux の 問題 >  >> Linux

Awk‘{print $ 1 + 0.45“” $ 2“” $ 3}’ File1> File2とは何ですか?

awk '{print $1+0.45 " " $2 " " $3 }' positionXYZ > positionX0.45YZ
はどういう意味ですか?最初のファイルの行を変更して、新しいデータを2番目のファイルに入れるという意味ですか?

承認された回答:

これを分解しましょう。 awk '{foo}' filefooを適用します fileの各行に 結果を端末に出力します(標準出力)。 awk 入力行を空白で分割し(デフォルト)、各フィールドを$1として保存します 、$2 など

したがって、実行している実際の式は、各入力行を読み取り、最初のフィールドの値に0.45を追加してから、そのフィールドと2番目と3番目のフィールドを出力することを意味します。これは簡単な例で最も簡単に説明できます:

$ cat file.txt 
10 20 30 40
50 60 70 80

$ awk '{print $1+0.45 " " $2 " " $3 }' file.txt 
10.45 20 30
50.45 60 70

ご覧のとおり、awk スクリプトは、各行の最初のフィールドに0.45を追加し、2番目と3番目のフィールドと一緒に印刷しました。 $4を印刷するように指示しなかったため、4番目は無視されました。 。

次のビットはawkとは何の関係もありません 、> シンボルは出力リダイレクト用であり、シェル(bashまたはzshまたは使用しているもの)によって使用されます。一般的に、command > file commandの出力を保存します ファイル内file 内容を上書きする ファイルが存在する場合はファイルを作成し、存在しない場合は作成します。

すべてをまとめる:

$ ls
file.txt

$ cat file.txt 
10 20 30 40
50 60 70 80

$ awk '{print $1+0.45 " " $2 " " $3 }' file.txt > file2.txt

$ ls
file2.txt  file.txt

$ cat file2.txt 
10.45 20 30
50.45 60 70

Linux
  1. Linuxのiノード番号とは何ですか?

  2. ファイルの変更または変更として何がカウントされますか?

  3. Grepがファイルをバイナリと見なす理由は何ですか?

  1. Exec 3とは何ですか?

  2. Awkからファイルをキャットする方法は?

  3. ファイルがアクセス許可を失う原因は何ですか?

  1. 別の行からのAWK?

  2. ファイル転送プロトコル(FTP)とは

  3. Linuxでファイルサイズを監視する