我有一个名为out1.csv
的文件,其中包含表格数据。
当我在终端中运行命令时,它可以工作:
cat out1.csv | grep -v ^$ | grep -v ^- > out2.csv
它读取文件并刷新除空格以外的所有行并以 - 开头,并将输出重定向到out2.csv
。
但是当我在脚本中放入相同的命令时,它不起作用。 我甚至尝试过回声:
echo " `cat out1.csv | grep -v ^$ | grep -v ^- > out2.csv` " > out2.csv
我还尝试指定文件的完整路径。但没有运气。
在脚本中,命令会运行,但输出不会根据调试模式重定向到文件。
我错过了什么?
答案 0 :(得分:0)
在脚本中执行此操作的一种方法与在控制台#BETTER WAY中执行的操作相同
cat out1.csv | grep -v ^$ | grep -v ^- > out2.csv
#无需回复它或将命令放在反引号中
你正在尝试的另一种方式是 echo“`cat out1.csv | grep -v ^ $ | grep -v ^ - > out2.csv`”#不要再将输出重定向到out2.csv
答案 1 :(得分:0)
反引号中的命令写入文件并不打印任何内容。
你什么也没拿,把它写到文件中,覆盖之前的内容。
答案 2 :(得分:0)
问题不是脚本,而是该脚本在此命令之前调用的sql脚本。两个命令实际上是正确的。