sed -i -e "s/..\///" -e "s/type_properties\///" testfile
次のファイルに適用するとき:
#include "../../../../include/concepts/type_properties/operations/has_or_op_v.hpp"
int main() {
// Test has_not_op_v.
}
次のように出力されます。
#include "../../../include/concepts/operations/has_or_op_v.hpp"
int main() {
/ Test has_not_op_v.
}
私はsedだけを削除し../
て削除したいのですtype_properties/
が、これは私の意見も壊れます。
ベストアンサー1
役割.
はメタ文字。つまり特別な意味があるという意味だ。.
「単一文字または文字と一致」を意味します。リテラル.
文字のみを一致させようとします。
.
に変更すると、\.
正しい出力が得られます。
例:
sed -i -e "s/..\///" -e "s/type_properties\///" testfile
になる:
sed -i -e "s/\.\.\///" -e "s/type_properties\///" testfile