Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encoding Grep无法识别所有新行_Encoding_Grep_Newline_Textwrangler_Textutils - Fatal编程技术网

Encoding Grep无法识别所有新行

Encoding Grep无法识别所有新行,encoding,grep,newline,textwrangler,textutils,Encoding,Grep,Newline,Textwrangler,Textutils,我对脚本是完全陌生的——事实上,我所做的大部分脚本最终都以“运行Shell脚本”的形式放在Mac的自动机中。所以,请原谅,嗯,所有的事情 基本上,我正在构建一个网络语料库。因此,我正在从web下载.html文件,并使用textutil将其转换为.txt文件。然后,我将它们连接为corpus.txt,并使用grep命令“清理”corpus.txt,以删除以数字开头、以数字结尾或以标点符号开头的行等内容 问题是有时候,grepping不起作用。例如,当我尝试 grep -v ^[0123456789

我对脚本是完全陌生的——事实上,我所做的大部分脚本最终都以“运行Shell脚本”的形式放在Mac的自动机中。所以,请原谅,嗯,所有的事情

基本上,我正在构建一个网络语料库。因此,我正在从web下载.html文件,并使用textutil将其转换为.txt文件。然后,我将它们连接为corpus.txt,并使用grep命令“清理”corpus.txt,以删除以数字开头、以数字结尾或以标点符号开头的行等内容

问题是有时候,grepping不起作用。例如,当我尝试

grep -v ^[0123456789] corpus.txt > corpus2.txt
我仍然在corpus2.txt中看到一些以数字开头的行。同样地

awk '!x[$0]++' corpus3.txt > deduped.txt
在文本编辑中,删除看起来像是重复行的内容不是很简单

我相信这与文件中的新行有关。我的理由是,当我在Textwrangler中打开文件时,显示为换行符的内容不会出现。在新行应该出现的地方,似乎有一个空间,后面是三个看不见的东西,似乎没有宽度。我不能把它们复制到终端,所以我不能用换行符来代替它们,据我所知

我尝试用不同的UTF编码保存转换的html文件和连接的txt文件

find temp2 -type f -print0 | xargs -0 -P 4 textutil -convert txt -encoding UTF-32
但这没有帮助。我甚至不知道如何知道文本中出现了什么样的新行。基本上,我期望的最终结果是,在Textedit中看到的所有换行符在grep、awk和sed中都被视为换行符。是否有脚本可以执行此转换?我到底需要转换什么


再次为我的无知感到抱歉。我是一名社会科学专业的学生,现在肯定不在堪萨斯州了。

如果您真的因为行尾而面临问题,您可以尝试将所有回车替换为文件中的行尾。如果文档中有奇怪的(不可见的)字符,则可以使用TextWrangler中的“Text”->“Zap gremlins…”删除这些字符。选择“文本”->“规范化行尾”还将确保文档中只使用一种类型的行尾。