
例如,要查找在文件 all.log 中含有单词 word 的行,您可以使用以下命令:
grep word all.log
如果要查找多个单词,您可以将它们放在一个字符串中,然后将该字符串作为 grep 命令的参数。例如,要查找在文件 all.log 中含有单词 word、list、hello、good 或 bad 的行,您可以使用以下命令:
grep "word|list|hello|good|bad" all.log
请注意,单词之间使用 | 符号隔开,表示“或”的意思。
此外,您还可以使用 -f 选项来指定要查找的单词列表所在的文件,这样就可以避免在命令行中手动输入单词列表。例如,如果要查找的单词列表保存在文件 search.txt 中,您可以使用以下命令:
grep -f search.txt all.log
希望这些信息能够帮助您解决问题。
建议你这样试试看:
使用python的方式实现。
在你想要到倒序的linux文件夹位置。新建一个py文件(命令 vi reverse.py)
将代码复制上去。然后保存。
# coding=utf-8
import sys
def checkStr(str_source):
return sum(map(lambda check: '/'.count(check), str_source))
def sortByLen(s):
return len(s)
if __name__ == '__main__':
with open(sys.argv[1], 'r') as f:
total_list = f.readlines() # 遍历文件 生成列表
total_list.sort(key=sortByLen, reverse=True)
total_list.sort(key=checkStr, reverse=True)
with open(sys.argv[2], 'w') as b:
for info in total_list:
b.write(info)
if info[-1] != '\n':
b.write('\n')
保存完成后,在本文件夹中 运行
python3 reverse.py 000文件夹绝对路径列表.txt 新的倒序文件夹名字.txt 命令。去查看新的txt文件。就是你想要的倒序文件。
具体效果截图
注意事项:1.确定linux系统中有安装python3 在linux系统执行python3 命令,或者百度 很简单就可以测试. 2.记住复制上去的代码必须要符合python的缩进。
试试,如果好用,麻烦采纳,谢谢。
先以a.txt为例:
awk -v RS="" '{n = split($0,a,"《[^》]+》")
for(i=2i<ni+=2)
print "《keywords》"a[i]"《/keywords》"
}' a.txt >>./newfile/a.txt
这样就行了。
为了可读性,我将一条awk语句写成了多行。
实际测试结果如下:
解说:
RS=""
将awk的记录分隔符设置为空(默认是换行符),即将整个a.txt文本看做一条记录。
n = split($0,a,"《[^》]+》")
以正则"《[^》]+》"匹配的内容作为分隔符,对文本内容进行分割并将分割结果存入数组a,分割出的数目(数组大小)即为split函数的返回值n。这里暂且不对该正则做过多解释,否则喧宾夺主,有需要请追问,我再补充。
for(i=2i<ni+=2)
print "《keywords》"a[i]"《/keywords》"
打印数组下标为偶数的元素并在首尾分别加上关键字标记以还原。数组下标从1开始。
其他文件可作相同处理。如果文件较多,你可以搞个循环去做。这个应该不难。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)