如何将 txt 文件导出为 csv,或将内容附加到具有新列但同一行的 csv 文件 - Bash

如何将 txt 文件导出为 csv,或将内容附加到具有新列但同一行的 csv 文件 - Bash

我正在编写一个库存脚本,用于收集多台设备的计算机信息,并正在寻找最佳方法来生成包含这些信息的 csv 文件

目前,我有这个:

touch ZI_IT_Inventory_output.txt
touch ZI_IT_Inventory_output.csv




user_whoami=$(whoami)
user_lscpu=$(lscpu | sed -nr '/Model name/ s/.*:\s*(.*) @ .*/\1/p' )
user_lshw=$(lshw -C display |grep 'product' | cut -f 2 -d":" | awk '{$1=$1}1' )
user_how_many_gpu=$(lspci | grep VGA | wc -l)
user_how_many_cpu=$(lscpu | sed -nr '/Model name/ s/.*:\s*(.*) @ .*/\1/p' | wc -l)
user_how_much_ram=$(lshw -c memory |grep 'size' | cut -d':' -f2- | cut -d' ' -f2)



echo $user_whoami>>ZI_IT_Inventory_output.txt
echo $user_lscpu>>ZI_IT_Inventory_output.txt
echo $user_lshw>>ZI_IT_Inventory_output.txt
echo $user_how_many_gpu>>ZI_IT_Inventory_output.txt
echo $user_how_many_cpu>>ZI_IT_Inventory_output.txt
echo $user_how_much_ram>>ZI_IT_Inventory_output.txt

这将创建一个 txt 文件:

ziadmin
Intel(R) Core(TM) i7-6700 CPU
HD Graphics 530
1
1
8GiB

最好的方法是将其输出为 csv 文件,其中所有数据都在同一行不同列

答案1

只需替换多个echo命令:

echo "$user_whoami,$user_lscpu,$user_lshw,$user_how_many_gpu,$user_how_many_cpu, $user_how_much_ram" >>ZI_IT_Inventory_output.txt

相关内容