【发布时间】:2023-03-24 02:19:02
【问题描述】:
我的目标是获取 awk 打印命令的输出(同时保留格式)并使用它来替换文件中的某些文本。
目前我正在使用:
declare -a mach=($(awk -F',' 'NR>1{print NR-1, $8}' mag_grad.csv))
给出:
1 0.77492
2 0.18022
3 0.29596
4 0.5229
等等……
我正在尝试使用 sed 在文件中查找和替换带有数组 $mach 的文本,具有相同的 2 列格式。
sed -i s/"mach data"/"${mach[*]}"/g nodedata.txt
但是这样做的结果是将马赫数据替换为
1 0.77492 2 0.18022 3 0.29596 4 0.5229 .......
关于如何保留格式的任何想法?
干杯
【问题讨论】:
-
你想做什么?您想保留输出中的换行符吗?如果是这样,您为什么要使用一个将所有内容拆分并删除所有空格的数组?
-
我对任何类型的脚本都很陌生,所以如果我用错了东西,我深表歉意。是的,我想保留输出中的新行,以为我必须将其设置为数组,而不是变量。但是,每当我尝试使用带有 mach 的 sed 作为变量而不是数组时,它不会用正确的数据替换单词,只是单词“mach”