概要
タイトルの通り、以下のようにpsコマンドの情報を整形しようとしたとき、想定した内容にならなかった。
$ ps aux | grep httpd | grep -v grep | awk -F ' ' -v 'OFS=#' '{print $1 $2}' apache5768 apache5769 apache5776 apache5777 apache5779 apache6679 root17779
特にエラーはなく、表示も1,2列目が表示されている。
結論
typoレベルのミスで、'{print$1 $2}'
の列指定の間にカンマがないことが原因だった。
カンマをいれると...
ps aux | grep httpd | grep -v grep | awk -F ' ' -v 'OFS=#' '{print $1,$2}' apache#5768 apache#5769 apache#5776 apache#5777 apache#5779 apache#6679 root#17779
想定どおりに表示された。
ただし、$0
で指定した場合はOFS
が適用されないのでこれは別途調査しようと思う。(仕様?)