AWSを読んでいます。eic_harvest_hostkeys
スクリプト、次の行を理解できません。
key=$(/usr/bin/awk '{$1=$1};1' < "${file}")
awkの利点は何ですか?もっと良くないですかkey=$(/bin/cat "${file}")
?
ベストアンサー1
key=$(/bin/cat "${file}")
key
改行なしでファイルの内容に設定します。 (ヌルバイトではなくテキストファイルであると仮定します。)
key=$(/usr/bin/awk '{$1=$1};1' < "${file}")
水平スペースの正規化:各行の先頭と末尾からスペースとタブを削除し、内部スペースとタブ順序を単一のスペースに圧縮します。$1=$1
うまくいかないようですが、実際には、awkに更新されたフィールドに基づいて行を書き換えさせ、行を書き換えると、フィールドの周りの空白情報が削除されます。その後、末尾の改行文字も削除します。
¹ $file
aで始まらない場合は、オプションパラメータとして扱われます-
。cat
使用する方が良いでしょうkey=$(cat < "$file")
(key=$(cat -- "$file")
また改善されますが、file='-'
それでも問題です)。