
学校の研究室への複数のコマンドを含むsed文字列を作成しようとしていますが、同じエラーメッセージが表示され続けます。他の場所で助けを得るために、彼らは私がどこかから逃げる機会を逃していると思いました。私はそれが動作するように最善を尽くしました。私が試した他のいくつかのコマンドは次のとおりです。元の文字列は次のとおりです。
sed “s/,//g” usdeclar.txt | sed “s/://g” | sed “s/;//g” | sed “s/-//g” | sed “s/&//g” | sed “s/\.//g” | sed “/^$d” > sed_edits.txt
答え1
シェルを拡張したくない場合は、sed式を一重引用符で囲むことをお勧めします$d
。たとえば、sed
最終式を次のように考えます。
sed "/^"
シェル変数が$d
設定されていない場合。
(将来のデバッグのためにsed "(your expression)" usdeclar.txt
各式を順番に実行して、どの式が問題を引き起こしているのかを判断できます。)
(参考までにtr -d '[-&;.]'
最初の4つと同じことを行う必要がありますsed
。)
答え2
「生の文字列」として引用したコマンドでsed
使用されているようです。
U+201C “ e2 80 9c LEFT DOUBLE QUOTATION MARK
U+201D ” e2 80 9d RIGHT DOUBLE QUOTATION MARK
(0x22)ASCII文字を置き換えます"
。シェルはsed
これを認識できません。
* nixテキストエディタを試してください。
答え3
インターネットで sed [[:punc:]] を検索することをお勧めします。コマンドラインが短くなる可能性があります。