Sed 使用不同的字符串更改“”值取决于最后一行

Sed 使用不同的字符串更改“”值取决于最后一行,sed,awk,tr,Sed,Awk,Tr,使用不同字符串更改值取决于最后一行。在这种情况下,当看到最后一行*时,替换为ls-lrt,并在看到斜杠时将*与最后一行分开,以查找其他内容 文本文件: <path>/etc/inet.d/*.conf <path>/etc/rc/* <path>/etc/rc* 我想你指的是每行的最后一个字符,不是最后一行 如果正确,请查看以下内容: awk '{if($0~/\*$/)sub(/<path>/,"ls -lrt ");else sub(/<

使用不同字符串更改值取决于最后一行。在这种情况下,当看到最后一行*时,替换为ls-lrt,并在看到斜杠时将*与最后一行分开,以查找其他内容

文本文件:

<path>/etc/inet.d/*.conf
<path>/etc/rc/*
<path>/etc/rc*

我想你指的是每行的最后一个字符,不是最后一行

如果正确,请查看以下内容:

awk '{if($0~/\*$/)sub(/<path>/,"ls -lrt ");else sub(/<path>/,"find ")}7' file
使用您的数据:

kent$  echo "<path>/etc/inet.d/*.conf
<path>/etc/rc/*
<path>/etc/rc*"|awk '{if($0~/\*$/)sub(/<path>/,"ls -lrt ");else sub(/<path>/,"find ")}7' 
find /etc/inet.d/*.conf
ls -lrt /etc/rc/*
ls -lrt /etc/rc*

试着想想其他人应该如何理解你,这是@hek2mgl:Wut?这是什么意思?我只是想指出一个事实,我不理解这个问题,但我愿意帮忙。欧普和特瓦尔伯格都应该努力提高你们的沟通技巧!我想你指的是每行的最后一个字符,不是最后一行@hek2mgl我同意你的看法。。。我最初对这个问题的回答简直是胡说八道+感谢你在一个难以理解的问题上所做的努力。目前对我来说,这很可能是正确的答案
kent$  echo "<path>/etc/inet.d/*.conf
<path>/etc/rc/*
<path>/etc/rc*"|awk '{if($0~/\*$/)sub(/<path>/,"ls -lrt ");else sub(/<path>/,"find ")}7' 
find /etc/inet.d/*.conf
ls -lrt /etc/rc/*
ls -lrt /etc/rc*