Bash 清除csv的Sed命令不起作用

Bash 清除csv的Sed命令不起作用,bash,csv,hadoop,sed,Bash,Csv,Hadoop,Sed,我有一个CSV文件,我想: Replace all & instances with & Remove the first (header) line Change all semicolons to $$$ Change all "$$$" instances into ";" Remove all " characters 执行此操作的sed命令如下所示: sed 's/\&/\&/g' BX-Book-Ratings:| sed -e '

我有一个CSV文件,我想:

Replace all & instances with &
Remove the first (header) line
Change all semicolons to $$$
Change all "$$$" instances into ";"
Remove all " characters
执行此操作的sed命令如下所示:

 sed 's/\&/\&/g' BX-Book-Ratings:| sed -e '1d' |sed 's/;/$$$/g' | sed 's/"$$$"/";"/g' | sed 's/"//g' > corrected_rating
var=$(sed 's/\&amp\;/\&/g;1d;s/;/$$$/g;s/"$$$"/";"/g;s/"//g' BX-Book-Ratings.csv)
但当我把它放在ClouderaVM的终端时,它就不起作用了

它给了我一个错误:
sed:无法读取BX图书评级::没有这样的文件或目录

我将BX-Book-Ratings.csv的副本放在桌面和根文件夹上,并尝试将直接位置放在sed命令中。我做错了什么


我得到一个错误:
行sed:-e expression#1,char 14:unknown option to
s'`

如果文件名是
BX Book Ratings.csv
,那么您需要在命令行中使用它而不是
BX Book Ratings:
。这不是一个
sed
错误,这是shell的问题。

为什么要使用这么多管道?这种做法如何:

sed 's/\&amp\;/\&/g;1d;s/;/$$$/g;s/"$$$"/";"/g;s/"//g' BX-Book-Ratings.csv > corrected_rating
或者,如果要将结果存储到变量,请执行以下操作:

 sed 's/\&/\&/g' BX-Book-Ratings:| sed -e '1d' |sed 's/;/$$$/g' | sed 's/"$$$"/";"/g' | sed 's/"//g' > corrected_rating
var=$(sed 's/\&amp\;/\&/g;1d;s/;/$$$/g;s/"$$$"/";"/g;s/"//g' BX-Book-Ratings.csv)

我需要将cd刻录到与文件相同的文件夹吗?@MarkLang或提供文件的完整路径,是的。它仍然显示sed:无法读取BX图书评级。csv::没有此类文件或directory@MarkLang包括该csv文件的完整路径。我对此非常陌生,我不习惯Bash脚本。您的命令运行得很好,我只是在末尾添加了corrected_rating.csv。