假设我有一个文件,其中只包含如下所示的文本:
测试转换到drned asr9k-rt24711加载
现在在终点站如果我做了
猫
filename_ grep负载
我会得到类似的输出
负载钻孔-内部-asr9k-rt24711 24711
但是,如何修改grep命令以将输出作为
钻孔-内部-asr9k-rt24711.txt 24711.txt
即删除"load“,并在末尾添加".txt”。那怎么做呢??
发布于 2022-01-12 10:35:13
也许不是最好的解决办法,但:
cat | grep load | cut -c4- | sed 's/$/.txt/'cut -c4-将删除前4个字符
sed 's/$/.txt/'将在输出末尾添加".txt“
发布于 2022-01-12 10:42:23
这可以通过以下方式实现:
sed -nr 's/.*load\s+(.*)/\1.txt/p' file.txt这将匹配load之后的任何内容(加上一个或多个空格)并返回它,并在末尾添加.txt。
发布于 2022-01-12 11:13:32
awk '{for(i=1;i<NF;i++){if(tolower($i)~/^load$/){print $(i+1) ".txt"}}}' file.txt这将匹配加载后的下一列,并在输出中将.txt追加到该列。
https://stackoverflow.com/questions/70679795
复制相似问题