Regex sed条件代换
我有一个文件,其中一些行包含如下所示的日期Regex sed条件代换,regex,bash,awk,sed,Regex,Bash,Awk,Sed,我有一个文件,其中一些行包含如下所示的日期 2017/07/21=2017/05/23 some text somethign somthig 2017/04/22=2017/05/23 text2 smt1 smt2 我想改变第一次和第二次约会的地点,但前提是第一次约会在第二次约会之前 使用sed或其他一些命令行linux实用程序是否可以实现类似的功能?完成此任务的最佳工具是awk。Awk是记录解析和字段比较的完美工具。以下内容将满足您的期望: awk '/\//&
2017/07/21=2017/05/23 some text
somethign
somthig
2017/04/22=2017/05/23 text2
smt1
smt2
我想改变第一次和第二次约会的地点,但前提是第一次约会在第二次约会之前
使用sed或其他一些命令行linux实用程序是否可以实现类似的功能?完成此任务的最佳工具是awk。Awk是记录解析和字段比较的完美工具。以下内容将满足您的期望:
awk '/\//&&/=/{ split($1,d,"="); if (d[1] > d[2]) $1 = d[2]"="d[1] }1' <file>
我觉得向一个拥有20.7k声誉的人陈述这一点有点尴尬,尽管如此:对不起,这不是StackOverflow的工作方式。我想做X的形式问题,请给我提示和/或示例代码被认为是离题的。请访问并阅读,尤其是阅读,以回答您的问题,是的,存在这样的工具。sed并不是处理这个问题的最佳方法,但是你可以通过awk来实现。谢谢,我不知道awk可以做到这一点,不客气。Awk是一个非常强大的工具,用于解析记录并对其执行操作。你知道的人,你不想改变。因为它是如此强大。
2017/05/23=2017/07/21 some text
somethign
somthig
2017/04/22=2017/05/23 text2
smt1
smt2