如何在每行末尾添加文本,其中包含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有时贪心很方便……)