小编jf4*_*i2d的帖子

仅将 sed 操作应用于以特定字符串开头的行

我有以下文件格式

Received from +11231231234 at 2021-10-10T19:56:50-07:00:
This is a message that contains words like from, at, etc.

Sent to +11231231234 at 2021-10-11T06:50:57+00:00:
This is another message that contains words like to, at, etc.
Run Code Online (Sandbox Code Playgroud)

我想清理“已接收”和“已发送”行,以下 sed 命令可以实现此目的

cat file |  sed 's/from//g' | sed 's/to/    /g' | sed 's/+\w\+//' | \ 
sed 's/at//g' | sed 's/T/ /g' | sed 's/[[:digit:].]*\:$//' | \ 
sed 's/[[:digit:].]*\:$//' | sed 's/-$//' | sed 's/-$//' | sed 's/+$//'
Run Code Online (Sandbox Code Playgroud)

并产生以下结果

Received    2021-10-10 19:56:50
This is a message …
Run Code Online (Sandbox Code Playgroud)

command-line sed text-processing

3
推荐指数
1
解决办法
9158
查看次数

标签 统计

command-line ×1

sed ×1

text-processing ×1