我正在尝试为程序自动生成的日志创建解析器,并且生成csv的解析器部分开始出现奇怪的行为。 疯狂的部分就是这个:
echo "$COMMAND_3_NAME,,$TIME_1_START,$TIME_1_END,$DIFF_1,,$TIME_2_START,$TIME_2_END,$DIFF_2,,$TIME_3_START,$TIME_3_END,$DIFF_3,,$TIME_USR_START,$TIME_USR_END,$DIFF_USR" >> $OUT_NAME
此行生成以下输出:
Command_3,,458.7
484.0,483.9
507.5,-458.7
967.9
507.5,,271.8
271.8,271.8
271.8,-271.8
543.6
271.8,,,,,,967.8
967.8,967.8
967.8,-967.8
1935.6
967.8
那里不应该有任何\ n因为我在我打印的每一个变量中都有一个“sed”s / \ n // g“”。
答案 0 :(得分:1)
输入
foo
bar
sed运行字符串foo
和bar
上的表达式,而不是foo\n
和bar\n
。
sed -e 's/\n//g'
不会替换任何换行符。
要删除换行符,您可以通过tr -d '\n'
管道或使用bash变量展开"${myvariable//$'\n'/}"