如何在 linux 终端中进行自定义"grep"



假设我的文件只包含如下文本:

Test transition to drned-internal-asr9k-rt24711
load drned-internal-asr9k-rt24711
commit**

如果我进行,现在在终端上

catfilename|grep加载

我会得到类似的输出

加载drned-internal-asr9k-rt24711

但是我如何修改grep命令以将输出作为

drned-internal-asr9k-rt24711.txt

,即删除";负载";并添加";。txt";最后。那么该怎么做呢??

可能不是最好的解决方案,但:

cat | grep load | cut -c4- | sed 's/$/.txt/'

cut -c4-将删除的前4个字符

CCD_ 3将添加";。txt";在输出结束时

这可以通过以下方式实现:

sed -nr 's/.*loads+(.*)/1.txt/p' file.txt

这将匹配load之后的任何内容(加上一个或多个空格(并返回它,在末尾添加.txt

awk '{for(i=1;i<NF;i++){if(tolower($i)~/^load$/){print $(i+1) ".txt"}}}' file.txt

这将匹配加载后的下一列,并在输出中将.txt附加到该列。

最新更新