Mac OS / X,Grep和空白问题

史蒂文·布里顿

我正在尝试在OS / X中的文本文件上使用GREP作为测试。已知包含以下文本,包括空格字符。

(10) Business Day

我的正则表达式搜索模式如下:

[\(][0-9]{1,3}[\)] business day

但是,这不起作用:

$ grep -Eoi '[\(][0-9]{1,3}[\)] business day' *.txt

如果从上面删除“ day”,则会得到以下信息:

$ grep -Eoi '[\(][0-9]{1,3}[\)] business' *.txt
(10) Business

这是上述行的egrep -oi或grep -Eoi的预期输出。

这都不是:

$ grep -Eoi '[\(][0-9]{1,3}[\)]\sbusiness\sday' *.txt

这也不是:

$ grep -Eoi '[\(][0-9]{1,3}[\)] business\sday' *.txt

这也不是:

$ grep -Eoi '[\(][0-9]{1,3}[\)][[:space:]]business[[:space:]]day' *.txt

这也不是:

$ grep -Eoi '[\(][0-9]{1,3}[\)] business[[:space:]]day' *.txt

产生期望的结果,即:

(10) Business Day

取而代之的是,他们这样做:

$

(没有什么)

在这上面,我已经浪费了数小时的时间来砸我的头在桌上。Grep显然不是火箭手术,所以我在这里想念什么????

史蒂文·布里顿

解决了。不过,我要感谢vielmetti和suku指出正确的方向。

问题是多方面的。

首先,问题与从Mac操作系统上的Word文档中保存文本文件时的编码有关。您需要将其保存为MS-DOS格式,并且不要插入换行符。

解决该问题后,该命令开始查找所需的文本,并且一旦我弄清楚了MACScript方法,以便可以将grep命令正确地放入vba中,一切就都准备就绪了。

因此,要进行检查-在将MS-Word文档作为文本文件保存在MAC上时,请确保将MS-DOS格式与OUT换行一起使用。

这是保存它的VBA命令:

        Document.SaveAs FileName:=filePath & docName & ".txt", _
                        FileFormat:=wdFormatText, _
                        LockComments:=False, _
                        Password:="", _
                        AddToRecentFiles:=False, _
                        WritePassword:="", _
                        ReadOnlyRecommended:=False, _
                        EmbedTrueTypeFonts:=False, _
                        SaveNativePictureFormat:=False, _
                        SaveFormsData:=False, _
                        SaveAsAOCELetter:=False, _
                        Encoding:=437, _
                        InsertLineBreaks:=False, _    
                        AllowSubstitutions:=False, _
                        LineEnding:=wdCROnly         

关键设置InsertLineBreaks:= False,可能还有LineEnding:= wdCROnly。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章