Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
Macos 搜索并删除具有可变参数的字符串_Macos_Bash_Perl_Sed_Terminal - Fatal编程技术网

Macos 搜索并删除具有可变参数的字符串

Macos 搜索并删除具有可变参数的字符串,macos,bash,perl,sed,terminal,Macos,Bash,Perl,Sed,Terminal,我需要在OSX上使用命令行从文本文件中删除字符串 字符串将具有一些永久特征,但具有任意数字 我想删除以下各项的所有变体:- [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h] 此字符串具有不同的值,但我想删除它,只在标有以下标签的部分中保留相关信息:- PAttern1 : Code : CodeHash : Result : 需要执行以下模拟过程 for each line{ if stri

我需要在OSX上使用命令行从文本文件中删除字符串

字符串将具有一些永久特征,但具有任意数字

我想删除以下各项的所有变体:-

            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]    
此字符串具有不同的值,但我想删除它,只在标有以下标签的部分中保留相关信息:-

 PAttern1 :
 Code :
 CodeHash :
 Result :
需要执行以下模拟过程

 for each line{
if string contains [%d%d%d.%d%d Kkey/s][total %d%d%d%d%d%d%d][Prob %d.%d%][%d%d% in %d.%dh]  (where "%d" is decimal value){

delete string and line

}
else if !contains {

 move down 1 line.
}
{
对于下面的文本,只有模式和散列应该保存到文本文档中

            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]
            [370.02 Kkey/s][total 3000368][Prob 0.0%][50% in 7.8h]
            [323.02 Kkey/s][total 3001368][Prob 0.0%][50% in 7.8h]
            [389.02 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [379.06 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [300.01 Kkey/s][total 3004368][Prob 0.0%][50% in 7.8h]
            [379.02 Kkey/s][total 3005368][Prob 0.0%][50% in 7.8h]
            [279.02 Kkey/s][total 3006368][Prob 0.0%][50% in 7.8h]
            [179.02 Kkey/s][total 3007898][Prob 0.0%][50% in 7.8h]



            PAttern1: i want to keep all the text after pattern and all the code until the next line of processing including hash
            Code : aksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsd

            CodeHash : e3287cb701f336a628885e66d17e38f2

            Result : D0B6789D4E0ACF39A8C24B424C0060FFFF2DA857



            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]
            [370.02 Kkey/s][total 3000368][Prob 0.0%][50% in 7.8h]
            [323.02 Kkey/s][total 3001368][Prob 0.0%][50% in 7.8h]
            [389.02 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [379.06 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [300.01 Kkey/s][total 3004368][Prob 0.0%][50% in 7.8h]
            [379.02 Kkey/s][total 3005368][Prob 0.0%][50% in 7.8h]
            [279.02 Kkey/s][total 3006368][Prob 0.0%][50% in 7.8h]
            [179.02 Kkey/s][total 3007898][Prob 0.0%][50% in 7.8h]
            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]
            [370.02 Kkey/s][total 3000368][Prob 0.0%][50% in 7.8h]
            [323.02 Kkey/s][total 3001368][Prob 0.0%][50% in 7.8h]
            [389.02 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [379.06 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [300.01 Kkey/s][total 3004368][Prob 0.0%][50% in 7.8h]
            [379.02 Kkey/s][total 3005368][Prob 0.0%][50% in 7.8h]
            [279.02 Kkey/s][total 3006368][Prob 0.0%][50% in 7.8h]
            [179.02 Kkey/s][total 3007898][Prob 0.0%][50% in 7.8h]
            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]
            [370.02 Kkey/s][total 3000368][Prob 0.0%][50% in 7.8h]
            [323.02 Kkey/s][total 3001368][Prob 0.0%][50% in 7.8h]
            [389.02 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [379.06 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [300.01 Kkey/s][total 3004368][Prob 0.0%][50% in 7.8h]
            [379.02 Kkey/s][total 3005368][Prob 0.0%][50% in 7.8h]
            [279.02 Kkey/s][total 3006368][Prob 0.0%][50% in 7.8h]
            [179.02 Kkey/s][total 3007898][Prob 0.0%][50% in 7.8h]
            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]
            [370.02 Kkey/s][total 3000368][Prob 0.0%][50% in 7.8h]
            [323.02 Kkey/s][total 3001368][Prob 0.0%][50% in 7.8h]
            [389.02 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [379.06 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [300.01 Kkey/s][total 3004368][Prob 0.0%][50% in 7.8h]
            [379.02 Kkey/s][total 3005368][Prob 0.0%][50% in 7.8h]
            [279.02 Kkey/s][total 3006368][Prob 0.0%][50% in 7.8h]
            [179.02 Kkey/s][total 3007898][Prob 0.0%][50% in 7.8h]

            PAttern2: i want to keep all the text after pattern and all the code until the next line of processing including hash
            Code : qwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrq

            CodeHash : 05bfabd43ff6c85a8fa2d3347d828c4b

            Result : 165B6CA902E567959C9BB599FABEB3998B21E31F


            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]
            [370.02 Kkey/s][total 3000368][Prob 0.0%][50% in 7.8h]
            [323.02 Kkey/s][total 3001368][Prob 0.0%][50% in 7.8h]
            [389.02 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [379.06 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [300.01 Kkey/s][total 3004368][Prob 0.0%][50% in 7.8h]
            [379.02 Kkey/s][total 3005368][Prob 0.0%][50% in 7.8h]
            [279.02 Kkey/s][total 3006368][Prob 0.0%][50% in 7.8h]
            [179.02 Kkey/s][total 3007898][Prob 0.0%][50% in 7.8h]
            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]
            [370.02 Kkey/s][total 3000368][Prob 0.0%][50% in 7.8h]
            [323.02 Kkey/s][total 3001368][Prob 0.0%][50% in 7.8h]
            [389.02 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [379.06 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [300.01 Kkey/s][total 3004368][Prob 0.0%][50% in 7.8h]
            [379.02 Kkey/s][total 3005368][Prob 0.0%][50% in 7.8h]
            [279.02 Kkey/s][total 3006368][Prob 0.0%][50% in 7.8h]
            [179.02 Kkey/s][total 3007898][Prob 0.0%][50% in 7.8h]
            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]
            [370.02 Kkey/s][total 3000368][Prob 0.0%][50% in 7.8h]
            [323.02 Kkey/s][total 3001368][Prob 0.0%][50% in 7.8h]
            [389.02 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [379.06 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [300.01 Kkey/s][total 3004368][Prob 0.0%][50% in 7.8h]
            [379.02 Kkey/s][total 3005368][Prob 0.0%][50% in 7.8h]
            [279.02 Kkey/s][total 3006368][Prob 0.0%][50% in 7.8h]
            [179.02 Kkey/s][total 3007898][Prob 0.0%][50% in 7.8h]
            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]
            [370.02 Kkey/s][total 3000368][Prob 0.0%][50% in 7.8h]
            [323.02 Kkey/s][total 3001368][Prob 0.0%][50% in 7.8h]
            [389.02 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [379.06 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [300.01 Kkey/s][total 3004368][Prob 0.0%][50% in 7.8h]
            [379.02 Kkey/s][total 3005368][Prob 0.0%][50% in 7.8h]
            [279.02 Kkey/s][total 3006368][Prob 0.0%][50% in 7.8h]
            [179.02 Kkey/s][total 3007898][Prob 0.0%][50% in 7.8h]
            [370.15 Kkey/s][total 2999999][Prob 0.0%][50% in 7.8h]
            [370.02 Kkey/s][total 3000368][Prob 0.0%][50% in 7.8h]
            [323.02 Kkey/s][total 3001368][Prob 0.0%][50% in 7.8h]
            [389.02 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [379.06 Kkey/s][total 3003368][Prob 0.0%][50% in 7.8h]
            [300.01 Kkey/s][total 3004368][Prob 0.0%][50% in 7.8h]
            [379.02 Kkey/s][total 3005368][Prob 0.0%][50% in 7.8h]
            [279.02 Kkey/s][total 3006368][Prob 0.0%][50% in 7.8h]
            [179.02 Kkey/s][total 3007898][Prob 0.0%][50% in 7.8h]
将生成的文本文档保留如下所示:-

            PAttern1 : i want to keep all the text after pattern and all the code until the next line of processing including hash
            Code : aksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsdaksjhdakjsdhakshdkasdhkashkjahsd
            CodeHash : e3287cb701f336a628885e66d17e38f2
            Result : D0B6789D4E0ACF39A8C24B424C0060FFFF2DA857
            PAttern2 : i want to keep all the text after pattern and all the code until the next line of processing including hash
            Code : qwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrqgfqwfufiyfoqywfofqwytrq
            CodeHash: 05bfabd43ff6c85a8fa2d3347d828c4b
            Result : 165B6CA902E567959C9BB599FABEB3998B21E31F
我使用sed删除单个字符,如下所示:-

 sed -i '' 's/%/\ /g' file.txt 
 sed -i '' 's/\[/\ /g' file.txt
 sed -i '' 's/]/\ /g' file.txt
 sed -i '' 's/Kkey\/s/\ /g' file.txt
虽然这适用于符号,但我无法猜出数字或sed out数字,因为它们在重要字符串中,sed会替换它

考虑到上述常规,您将如何处理此问题


非常感谢您提供的任何帮助

您可以将
grep
-v
一起使用:

grep -v 'Kkey/s.*total.*Prob' < input > output
grep-v'Kkey/s.*total.*Prob'output
或者,如果您也想删除空行:

egrep '^[ \t]*(PAttern1|Code|CodeHash|Result) : ' < input > output
egrep'^[\t]*(PAttern1 | code | CodeHash | Result):'output

Perl命令行解决方案:

perl -ne 'print if /\S/ &&  !m|\[\d+\.\d+ Kkey/s]\[total \d+]\[Prob \d+\.\d+%]\[\d+% in \d+\.\d+h]|' your_input_file > your_output_file

白鹭似乎效果最好。我可以内联使用它,这样它就不需要创建新文件了吗?如果我执行<~/Desktop/file.txt>output ~/Desktop/file.txt,则会留下一个空白文件。不能执行内联操作,但可以写入临时文件,然后替换原始文件:
egrep'^[\t]*(PAttern1 | code | CodeHash | Result):'<~/Desktop/file.txt>.output.txt;mv~/Desktop/file.txt~/Desktop/file.txt.backup;mv.output.txt~/Desktop/file.txt
iv刚刚注意到,在我正在使用的实际示例中,头后面有一行新行,因此脚本失败<代码>模式1:示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1示例模式1有
-A
-B
开关,这样你可以在后面或前面拉线。这似乎没有效果,这似乎不太可能。当我运行它时,我会得到一个输出文件,其中包含您想要的行。如果它对你不起作用,那么也许你的环境有一些不寻常的地方,你没有告诉我们。