sed命令不起作用

f0ofjuux  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(672)

我有一个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

但当我把它放在clouderavm的终端时它就不工作了。。。
它给了我一个错误: sed: can't read BX-Book-Ratings:: No such file or directory 我将bx-book-ratings.csv的副本放在桌面和根文件夹中,并尝试将直接位置放在sed命令中。我做错什么了?
我得到一个错误: line sed: -e expression #1, char 14: unknown option to 是的`

zazmityj

zazmityj1#

你为什么用这么多管子?这种方法怎么样:

sed 's/\&amp\;/\&/g;1d;s/;/$$$/g;s/"$$$"/";"/g;s/"//g' BX-Book-Ratings.csv > corrected_rating

或者,如果要将结果存储到变量,请执行以下操作:

var=$(sed 's/\&amp\;/\&/g;1d;s/;/$$$/g;s/"$$$"/";"/g;s/"//g' BX-Book-Ratings.csv)
sgtfey8w

sgtfey8w2#

如果文件名是 BX-Book-Ratings.csv 那你就用它来代替 BX-Book-Ratings: 在命令行中。这不是一个 sed 错误,这是shell的问题。

相关问题