![从 cat 输出中获取动态定位的子字符串](https://linux22.com/image/202227/%E4%BB%8E%20cat%20%E8%BE%93%E5%87%BA%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%8A%A8%E6%80%81%E5%AE%9A%E4%BD%8D%E7%9A%84%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2.png)
我在脚本中的命令看起来像这样:
echo "- user:$(cat /var/users.txt)" >> /opt/tag/user_new.txt
问题是users.txt
包含这样格式的用户集[电子邮件受保护]ETC。
然而我想要的只是@
ie之前的部分约翰·戴维斯,所以我附加的字符串user_new.txt
是 this - user:john-davis
。
基本上是firstIndexOf 和子字符串以及echo 的bash 版本。有人可以帮助我如何通过单个命令来实现这一点吗?
答案1
这些大括号看起来不对——我假设你打算扩展进程。
我会跳过回声,并且也会处理扩展。就像是:
awk '-F@' '{ print "- user:" $1 }' /var/users.txt >> /opt/tag/user_new.txt