如何在每行末尾添加文本,其中包含sed或awk行中的文本?

如何在每行末尾添加文本,其中包含sed或awk行中的文本?,awk,sed,Awk,Sed,例如,我有下一条短信: before1/endpoint-1 before2/endpoint-2 before3/endpoint-3 我想接下来输出: before1/endpoint-1=somethingelse/endpoint-1 before2/endpoint-2=somethingelse/endpoint-2 before3/endpoint-3=somethingelse/endpoint-3 所以我想在每一行的末尾添加=somethingelse/,然后从后面的那一行

例如,我有下一条短信:

before1/endpoint-1
before2/endpoint-2
before3/endpoint-3
我想接下来输出:

before1/endpoint-1=somethingelse/endpoint-1
before2/endpoint-2=somethingelse/endpoint-2
before3/endpoint-3=somethingelse/endpoint-3
所以我想在每一行的末尾添加
=somethingelse/
,然后从后面的那一行获得相同的端点

我知道我可以按如下方式添加部件
=somethingelse/

sed -i 's/$/=somethingelse\//' textfile
但是如何在端点之后添加该端点的samepart?

通过sed

$ sed 's~\([^\/]*\)$~\1=somethingelse/\1~' file
before1/endpoint-1=somethingelse/endpoint-1
before2/endpoint-2=somethingelse/endpoint-2
before3/endpoint-3=somethingelse/endpoint-3

有很多方法可以实现您的目标,例如awk one liner:

awk -F'/' '$0=$0"=somethingelse" FS $2'
或sed:

sed 's#/.*#&=somethingelse&#'

就像你的sed一样,快速而准确efficient@NeronLeVelu有时贪心很方便……)