【发布时间】:2015-05-07 00:44:16
【问题描述】:
我有以下几行
92520536843;Sof_voya_Faible_Email_am;EMAIL;28/01/2015;1;0;0;Sof_voya_Faible_Email_am;30/01/2015;Sof_voya_Faible_Email_Relance_am
92515196529;Sof_trav_Fort_Email_pm_%yyyy%mm%dd%;EMAIL;05/02/2015;1;0;0;Sof_trav_Fort_Email_pm_%yyyy%mm%dd%;09/02/2015;Export Trav_Fort Postal
我正在尝试在第 7 个字段之后替换 Sof_ 或 _%yyyy%mm%dd% 之类的字符串。
我考虑过使用sed
sed -i 's/<string_to_look_for>/<string_to_replace>/7g' filename
但它只是改变了字段分隔符。
我想过用这个
awk -F";" '{ for (i=7; i<=NF; i++) print $i }' filename
但我不知道如何为要替换的字符串插入搜索和替换。
欢迎任何帮助。
编辑:在第 7 列之后替换 Sof_ 或 _%yyyy%mm%dd% 等字符串后的预期结果。
92520536843;Sof_voya_Faible_Email_am;EMAIL;28/01/2015;1;0;0;voya_Faible_Email_am;30/01/2015;voya_Faible_Email_Relance_am
92515196529;Sof_trav_Fort_Email_pm_%yyyy%mm%dd%;EMAIL;05/02/2015;1;0;0;trav_Fort_Email_pm;09/02/2015;Export Trav_Fort Postal
致 Python 和 Perl 大师,因为我正在努力提高我在这些语言方面的知识,欢迎您的帮助:)
【问题讨论】:
-
你的预期输出是什么?
-
@anubhava : 好了
-
@AndyK 为什么第二个例子中的
Sof_没有被替换? -
@AvinashRaj 我的错。修改。
-
@AndyK perl 呢?