【发布时间】:2010-07-13 13:25:02
【问题描述】:
我是正则表达式和 grep 的新手,但我一直在努力学习它以在使用控制台工具时为我提供帮助。
我必须使用 cvs,当我更新一些文件时,我不需要查看未更新的文件或带有 *.pyc 扩展名的文件。所以,我创建了一个脚本,调用:
cvs update -d | grep -v 'pyc$' | grep -v '^\?'
第一个问题:为什么cvs update -d | grep -v '(pyc$|^\?)'不起作用,所以我需要使用cvs update -d | grep -v 'pyc$' | grep -v '^\?'?
第二个问题:未更新的文件以一行开头:
-f update: Updating FILE
我试过grep -v '^\-f' 和grep -v '^-f',但没有运气。我的表达有什么问题?是正则表达式问题还是我不知道的关于 Linux 的问题?
谢谢!
【问题讨论】:
-
grep -c '^-f' 工作正常,实际行是否以空格或其他内容开头? (您可以通过 hexdump 或 od 进行管道检查)
标签: regex linux terminal cvs grep