我的文件包含以下数据 文件名: - Test.txt
TimeStamp_2017-12-43 09:09:14.0999/-ext-10100/Year/Month/Day
TimeStamp_2000-12-43 07:09:14.0999/-ext-10200/Year/Month/Day
TimeStamp_2015-12-43 06:09:14.0999/-ext-10200/Year/Month/Day
TimeStamp_2010-12-43 05:09:14.0999/-ext-10200/Year/Month/Day
TimeStamp_2011-12-43 04:09:14.0999/-ext-1090/Year/Month/Day
TimeStamp_2018-12-43 03:09:14.0999/-ext-920/Year/Month/Day
TimeStamp_2013-12-43 02:09:14.0999/-ext-1200/Year/Month/Day
TimeStamp_2016-12-43 01:09:14.0999/-ext-02/Year/Month/Day
我需要在每行中替换或删除以下格式
TimeStamp_*/-ext-*
**文件中的输入行(Sampel TimeStamp值和-ext-值每次都在变化)
TimeStamp_2017-12-43 09:09:14.0999 / -ext-10100 /年/月/日
Ouput Line after remove or replace
年/月/日
任何人都可以帮助解决这个问题
答案 0 :(得分:0)
只需使用** sed**
:
sed 's@.*-ext-[^/]*/@@' file
答案 1 :(得分:0)
使用以下sed
命令,它将适合您。它将如何运作?首先,它会找到模式TimeStamp_.*-ext-.*
(这里需要添加点.
和*
来通知sed
命令您使用*
作为外卡字符)并用空行替换,第二个表达式/^\s*$/d
将搜索空行并将其删除,最后您将获得所需的输出。每个表达式都在;
命令中用sed
分隔。
sed -e 's/TimeStamp_.*-ext-.*//;/^\s*$/d' Test.txt > tmp.txt
mv tmp.txt Test.txt
希望这会对你有所帮助。
答案 2 :(得分:0)
如果您想在第二次斜杠后保留所有内容,请使用
cut -d"/" -f3- Test.txt