我有多个数据库的.txt文件,我需要在所有这些自动搜索一个特定的名称txts。
在终端中,我通常会这样做,grep word:otherword /path/to/file/text1.txt
并获得所有结果的列表。
我怎么能自动完成所有,这样的脚本问我“插入Word”,然后“插入OtherWord”,然后搜寻SEARCH_TERM_EXAMPLES给我一个干净的结果中的所有文件“字OtherWord”?
编辑1:
目前的代码
#!/bin/bash
read -p "Insert Word: " insertWord
read -p "Insert OtherWord: " insertOtherWord
printf "Executing grep ${insertWord}:${insertOtherWord} $(find path/to/file/name.txt -name '*.txt')"
grep "${insertWord}:${insertOtherWord}" $(find path/to/file/name.txt -name '*.txt')
编辑2:
#!/bin/bash
read -p "word3: " word3
read -p "word4: " word4
read -p "word1: " word1
read -p "word2: " word2
printf "Searching for ${word1}:${word2}:${word3}:${word4} $(find path/to/file -name '*.txt')"
grep -i -w "${word1}:${word2}:${word3}:${word4}" $(find path/to/file -name '*.txt') | cut -d":" -f2-
给定更新的脚本EDIT2并考虑到word2是一组可变长度的数字,是否有一种方法可以:
输出示例是:
word1:numbervariablelenght:word3:word4
这个..
#!/bin/bash
read -p "Insert Word : " insertWrod
read -p "Insert OtherWord : " insertOtherWord
printf "Executing grep ${insertWrod}:${insertOtherWord} $(find . -name '*.txt')"
grep "${insertWord}:${insertOtherWord}" $(find . -name '*.txt')
PS - 根据需要将选项调整为 grep
编辑
您可以替换命令中的路径,如果您想避免格式中的输出行中的路径,path/to/file/file.txt:word:otherword
您可以执行cut
例如
#!/bin/bash
read -p "Insert Word : " insertWrod
read -p "Insert OtherWord : " insertOtherWord
read -p "Path : " somePath
# Make Sure Path exists and its a directory
if [ -d "$somePath" ] then
grep "${insertWord}:${insertOtherWord}" $(find $somePath -name '*.cpp') | cut -d":" -f2-
fi
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句