Linuxコマンドの出力をcsvの特定の行と列にリダイレクトする方法は?

Linuxコマンドの出力をcsvの特定の行と列にリダイレクトする方法は?

私はUnixビルド後の文書化プロセスを進めていますが、元の要求に応じてサーバーをビルドするために新しいビルドごとに作成してアップロードする必要があるCSVファイルがあります。

すでにCSVファイルにいくつかのコンテンツがあるため、Unixコマンドの出力をCSVファイルの特定の行と列にリダイレクトする必要があります。これを達成する方法はありますか?

既存のCSVファイルの内容: ここに画像の説明を入力してください。

上記のCSVファイルでは、G13列に一種のシェルスクリプトである必要があるサーバー情報を追加する必要があります。

スクリプトを作成しましたが、これは特定の行や列ではなく新しいCSVを生成します。コマンド出力をその列と行に正確にリダイレクトする方法がわかりません。

スクリプト:

echo -e "$(cat /etc/redhat-release | cut -d ' ' -f1-5)" >> /tmp/test.csv
echo -e "$(cat /etc/redhat-release | awk '{ print $7 }')" >> /tmp/test.csv
echo -e "$(uname -r)" >> /tmp/test.csv
echo -e "$(dmidecode | grep Product | head -n 1 | cut -d: -f 2)" >> /tmp/test.csv
echo -e "$(grep -c processor /proc/cpuinfo)" >> /tmp/test.csv
echo -e "$(getconf -a | grep PAGES | awk 'BEGIN {total = 1} {if (NR == 1 || NR == 3) total *=$NF} END {print total / 1024" kB"}')" >> /tmp/test.csv
echo -e "$(fdisk -l | grep Disk | grep -i gb | grep -v mapper)" >> /tmp/test.csv
echo -e "" >> /tmp/test.csv
echo -e "$(swapon -s | grep dev | cut -d' ' -f1)" >> /tmp/test.csv
echo -e "$(swapon -s | grep dev  | awk '{ print $3 }')" >> /tmp/test.csv
echo -e "$(hostname -i)" >> /tmp/test.csv
echo -e "$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f4)" >>  /tmp/test.csv
echo -e "$(route -n|grep "UG"|grep -v "UGH"|cut -f 10 -d " ")" >> /tmp/test.csv

手動で作成したサンプルcsvファイルが含まれています。

ここに画像の説明を入力してください。

全てのご案内とご支援をいただきありがとうございます。

編集する:

CSV ファイルは変更できず、値は常に同じ行と列にリダイレクトされます。

ベストアンサー1

おすすめ記事