如何在没有管道/变量/回声的情况下将大写字母转换为小写字母

How to zgrep an UPPERCASE as a lowercase without pipes / variables / echo

如何 zgrep 一个大写模式,因为它是一个小写,e.x.:

zgrep 'MYPATTERN' *.gz

匹配:我的模式

:管道、回声、文件或变量。 E.x.:

s="Hello World!" 
echo $s  # Hello World!
a=${s,,}
zgrep "$a" *.gz

NOR

echo 'MYPATTERN' | sed -e 's/.*/\L&/g'  #this line not tested

NOR

zgrep -i 'MYPATTERN' *.gz #option -i is to heavy

目标是在日志文件中搜索简单的十六进制字符串,但它们始终以大写形式给出,但以小写形式记录。

收获是在共享删除服务器中进行的,在该服务器中编写函数并不是最好的。我正在寻找一个干净的解决方案。这就是我避免使用管道和变量的原因。

欢迎使用子命令“``”,但其中没有管道或许多命令。

这是一组疯狂的限制。怎么样

zgrep "$(tr '[:upper:]' '[:lower:]' <<<"MYPATTERN")" *.gz

zgrep -i"too heavy"怎么样?

这可能对你有帮助,但有一个管道

grep -o "string" yourfile | tr [:upper:] [:lower:]