我可以删除以Welcome to Reverse-the-words
Enter your sentence, word, or phrase
I love science
Your phrase with all of the words reversed is
I evol ecneics
开头的第一行csv文件并使用以下方法合并它们:
myfile
我还要删除csv文件的最后一行。
我试过了:
sed 1d myfile*.csv > myfile_merged.csv
但是得到错误:
sed 1d -i '$d' myfile*.csv > myfile_merged.csv
答案 0 :(得分:4)
问题是这个命令:
sed 1d -i '$d' myfile*.csv > myfile_merged.csv
-i
中sed
(内联替换)之后您不需要参数,否则会被视为SUFFIX
来为内联替换创建备份
您需要的是gnu sed
命令:
sed -i '1d;$d' myfile*.csv
这将删除每个匹配文件中的第一行和最后一行并将其保存到位。
答案 1 :(得分:3)
你可能要做的是:
sed -e '1d' -e '$d' myfile*.csv > merged.csv
但这不起作用,因为它告诉sed删除所有文件的第一行和最后一行,而不是EACH文件。换句话说,你将剥离第一个文件的第一行,以及最后一个文件的最后一行......就是这样。
要单独处理每个文件,您可能需要单独处理每个文件。 :)
for f in myfile*.csv
sed -e '1d;$d' "$f"
done > merged.csv
请注意,虽然这将在bash中运行,但它也兼容POSIX(shell和sed部分)。并且它不关心您的输入是CSV还是任何其他格式,只要它可以使用sed逐行解析。