sedを使用して、ディレクトリ内の複数のファイルから文字列を削除してみてください。フォルダには、削除する必要があるテーブル名を含む多くのSQLファイルが含まれています。たとえば、ファイルの1つは次のとおりです。
INSERT INTO staging.eav_attribute_set (attribute_set_id, entity_type_id, attribute_set_name, sort_order) VALUES (1, 1, 'Default', 2);
INSERT INTO staging.eav_attribute_set (attribute_set_id, entity_type_id, attribute_set_name, sort_order) VALUES (2, 2, 'Default', 2);
INSERT INTO staging.eav_attribute_set (attribute_set_id, entity_type_id, attribute_set_name, sort_order) VALUES (3, 3, 'Default', 1);
INSERT INTO staging.eav_attribute_set (attribute_set_id, entity_type_id, attribute_set_name, sort_order) VALUES (4, 4, 'Default', 1);
staging.
すべての行を削除する必要があります。ファイルがあるディレクトリで次のことを試みました。
sed -i 's/staging.//g' *
sed -i 's/staging\.//g' *
sed -i 's|staging.||g' *
ところで、次のようなメッセージを受け取りました。
sed: 1: "eav_attribute_set ...": unterminated substitute pattern
答え1
FreeBSD sed
(macOS上)を使用するには、次のものが必要です。
sed -i '' 's/staging\.//g' ./*
答え2
この内容はstaging.
ファイルから削除されます。
cat ${yourfile} | sed 's/staging\.//g' > tmp && mv tmp ${yourfile}