这个sed命令有什么作用?

时间:2016-12-03 03:04:53

标签: sed

我长期搜索这个,但我无法弄清楚这个sed实际上做了什么!?

sed -E $'s:$:\t:' < file1 | cut -f 2 > file2

谁能解释一下?

1 个答案:

答案 0 :(得分:1)

这不是一个sed脚本,它是一个包含bash,sed和cut命令的shell脚本。 sed脚本被错误的引用实践混淆,不必要地更改分隔符,并添加不必要的参数。我假设你知道cut -f 2做了什么,所以我无法想象为什么你要把它包括在内以进一步混淆你的问题,所以我将忽略它并专注于sed部分。

你拥有的命令是:

sed -E $'s:$:\t:'

让我们明智地改写,你得到:

sed 's/$/'$'\t''/'

没有'脚本分隔符,并且为了清晰起见添加了一些额外的空格:

s/  $  /  $'\t' /

现在你看到它在做什么了吗?用标签替换行尾。