我有一个带有“||o||”的示例文件作为字段分隔符。www.google.org||o||srScSG2C5tg=||o||bngwqfarhansingla.it||o||4sQVj09gpls=||o||ngascash||o||||o||ms-bronze.com.br||o||||o||我想移动1.txt中只有1个字段的行和not_1.txt中有超过1个字段的行。我正在使用以下命令:sed's/\(||o||\)\+$//g'sample.txt|awk-F'[|][|]o[|][|]''{if(NF==1)print>"1.txt";elseprint>"not_1.txt"
我有一个大文本文件(URL.txt),我希望使用单个sed命令执行以下操作:在第19行和第33行之间查找文本“google”并将其替换为“facebook”。在不改变原始文件的情况下在终端上显示输出。 最佳答案 您可以使用sed地址:sed'19,33s/google/facebook/g'file这将在第19行和第33行之间运行替换。sed命令的格式如下:[address[,address]]function[arguments]其中19,33是地址,s代入函数global是参数 关于
我有一个大文本文件(URL.txt),我希望使用单个sed命令执行以下操作:在第19行和第33行之间查找文本“google”并将其替换为“facebook”。在不改变原始文件的情况下在终端上显示输出。 最佳答案 您可以使用sed地址:sed'19,33s/google/facebook/g'file这将在第19行和第33行之间运行替换。sed命令的格式如下:[address[,address]]function[arguments]其中19,33是地址,s代入函数global是参数 关于
在OSX上:bash-3.2$echo"abc"|sed's/b/\x1b[31mz\x1b[m/'ax1b[31mzx1b[mc而在Linux上:$echo"abc"|sed's/b/\x1b[31mz\x1b[m/'azc并且z正确显示为红色。这是bash3.2的限制吗?我的Linux测试在这里运行bash4.1.2。奇怪的是在我工作的linux环境中,bash的版本低于3.2,而且它也在那里工作。另外,这可能是相关的,但可能不是:bash-3.2$echo"abc"|sed's/b/^[[31mz^[[m/'31mz$'m/'azc同样,特定于BSDsed。这很令人费解:似乎有什
在OSX上:bash-3.2$echo"abc"|sed's/b/\x1b[31mz\x1b[m/'ax1b[31mzx1b[mc而在Linux上:$echo"abc"|sed's/b/\x1b[31mz\x1b[m/'azc并且z正确显示为红色。这是bash3.2的限制吗?我的Linux测试在这里运行bash4.1.2。奇怪的是在我工作的linux环境中,bash的版本低于3.2,而且它也在那里工作。另外,这可能是相关的,但可能不是:bash-3.2$echo"abc"|sed's/b/^[[31mz^[[m/'31mz$'m/'azc同样,特定于BSDsed。这很令人费解:似乎有什
我要完成的任务是,我有这种文件:test1.csvtest2.csvtest3.csv等...我想获取每个文件的第3行。现在,我可以使用awk或像这样的sed获得第3行回显|awk'FNR==3{打印;exit}'test1.csv>>last_file.csv或使用sed或tail。但是当我尝试对多个文件执行此操作时,它无法获取行。我想这样做,回显|awk'FNR==3{打印;退出}'test*.csv>>last_file.csv我怎样才能做到这一点?谢谢。 最佳答案 摆脱无用的echo、不正确的exit和多余的print:aw
我要完成的任务是,我有这种文件:test1.csvtest2.csvtest3.csv等...我想获取每个文件的第3行。现在,我可以使用awk或像这样的sed获得第3行回显|awk'FNR==3{打印;exit}'test1.csv>>last_file.csv或使用sed或tail。但是当我尝试对多个文件执行此操作时,它无法获取行。我想这样做,回显|awk'FNR==3{打印;退出}'test*.csv>>last_file.csv我怎样才能做到这一点?谢谢。 最佳答案 摆脱无用的echo、不正确的exit和多余的print:aw
我有一个包含文本和数字的文本文件,我想使用grep仅提取我需要的数字,例如,给定一个文件如下:missrate0.21ipc222stallsnshdmem112假设我只想提取缺失率的数据,即0.21。我如何使用grep或sed做到这一点?另外,我需要不止一个数字,而不仅仅是missrate之后的那个。也就是说,我可能想要同时获得0.21和112。示例输出可能如下所示:0.21222112因为我需要数据用于以后的绘图。 最佳答案 如果您真的只想为此使用grep,那么您可以尝试:grep"missrate"file|grep-oe'\
我有一个包含文本和数字的文本文件,我想使用grep仅提取我需要的数字,例如,给定一个文件如下:missrate0.21ipc222stallsnshdmem112假设我只想提取缺失率的数据,即0.21。我如何使用grep或sed做到这一点?另外,我需要不止一个数字,而不仅仅是missrate之后的那个。也就是说,我可能想要同时获得0.21和112。示例输出可能如下所示:0.21222112因为我需要数据用于以后的绘图。 最佳答案 如果您真的只想为此使用grep,那么您可以尝试:grep"missrate"file|grep-oe'\
我只想sed文本文件的最后一个匹配模式。输入文件:boyboygirlboy输出文件:boyboygirlboys 最佳答案 一种方法是反转文件,只替换第一个匹配项,然后再反转回来。tac|sed'1s/boy/boys/'|tac|spongetac将“反向连接和打印文件”。sponge将“吸收标准输入并写入文件”。它在debian上的“moreutils”包中。 关于linux-sed仅最后一个匹配模式,我们在StackOverflow上找到一个类似的问题: