我有一个db.sql,其中包含某些字符串 _wc_session _
http://dummy-domain.local
当 _wc_session _ 在其中时,我想用AWK删除整行。我的意思是整条线路:
(26680, '_wc_session_expires_120f486fe21c9ae4ce247c04f3b009f9', '1445934089', 'no'),
(26682, '_wc_session_expires_73516b532380c28690a4437d20967e03', '1445934114', 'no'),
(26683, '_wc_session_1a71c566970b07ac2b48c5da4e0d43bf', 'a:21:{s:4:"cart";s:305:"a:1:{s:32:"7fe1f8abaad094e0b5cb1b01d712f708";a:9:{s:10:"product_id";i:459;s:12:"variation_id";s:0:"";s:9:"variation";a:0:{}s:8:"quantity";i:1;s:10:"line_total";d:6;s:8:"line_tax";i:0;s:13:"line_subtotal";i:6;s:17:"line_subtotal_tax";i:0;s:13:"line_tax_data";a:2:{s:5:"total";a:0:{}s:8:"subtotal";a:0:{}}}}";s:15:"applied_coupons";s:6:"a:0:{}";s:23:"coupon_discount_amounts";s:6:"a:0:{}";s:27:"coupon_discount_tax_amounts";s:6:"a:0:{}";s:21:"removed_cart_contents";s:6:"a:0:{}";s:19:"cart_contents_total";d:6;s:20:"cart_contents_weight";i:0;s:19:"cart_contents_count";i:1;s:5:"total";i:0;s:8:"subtotal";i:6;s:15:"subtotal_ex_tax";i:6;s:9:"tax_total";i:0;s:5:"taxes";s:6:"a:0:{}";s:14:"shipping_taxes";s:6:"a:0:{}";s:13:"discount_cart";i:0;s:17:"discount_cart_tax";i:0;s:14:"shipping_total";i:0;s:18:"shipping_tax_total";i:0;s:9:"fee_total";i:0;s:4:"fees";s:6:"a:0:{}";s:10:"wc_notices";s:205:"a:1:{s:7:"success";a:1:{i:0;s:166:"<a href="http://bdebarcelona.cat/carrito/" class="button wc-forward">Ver carrito</a> Se ha añadido "Incienso Gaudí Lavanda" con éxito a tu carrito.";}}";}', 'no'),
到目前为止,我找到了选择整条线路的正确REGEX 当&#34; _wc_session _ &#34;找到了
(26682, '_wc_session_expires_73516b532380c28690a4437d20967e03', '1445934114', 'no'),
但我们尝试运行
(^\(.*_wc_session_.*\)\,)
我得到了
awk '!(^\(.*_wc_session_.*\)\,)' db.sql > temp.sql
我错过了什么吗?
答案 0 :(得分:3)
如果您设置为awk
:
awk '!/_wc_session/' db.sql
您也可以sed -i
将输出“inplace”(在输入文件中)写入:
sed -i '/_wc_session/d' db.sql
编辑:
使用awk
的更精确的方法是使用文件中的固有,
作为分隔符,并仅检查相应模式的第2列。如果模式位于不同的列中,并且不应删除该行,则此方法很有用。
awk -F',' '$2 !~ "_wc_session" {print $0}' db.sql
答案 1 :(得分:2)
简单的grep
跟随可以帮助你,并且应该做到这一点。
grep -v "(26682, '_wc_session_expires_73516b532380c28690a4437d20967e03', '1445934114', 'no')" Input_file
编辑: 如果您要删除任何行中只有字符串_wc_session_expires_
的行,那么以下内容可能对您有所帮助。
grep -v "_wc_session_expires_" Input_file
答案 2 :(得分:1)
输入Regex时出错,右边是
BaseUtil.WaitUntilClickable(btnLogin, 10);