Bash 如何从txt文件中读取每一行并从以“开始”的行开始打印;创建“U日期”;壳内脚本
我想从创建日期开始打印。结果 文件应该如下所示Bash 如何从txt文件中读取每一行并从以“开始”的行开始打印;创建“U日期”;壳内脚本,bash,shell,Bash,Shell,我想从创建日期开始打印。结果 文件应该如下所示 5G_Fixed_Wireless_Dashboard_TestScedule||||||||||||||||^M Report Run Date||08/07/2018|||||||||||||||||||||^M Requesting User Company||NEW|||||||||||||||||||||^M Report Criteria|||||||||||||||||||||||^M " Service Job Update
5G_Fixed_Wireless_Dashboard_TestScedule||||||||||||||||^M
Report Run Date||08/07/2018|||||||||||||||||||||^M
Requesting User Company||NEW|||||||||||||||||||||^M
Report Criteria|||||||||||||||||||||||^M
" Service Job Updated from Date:
Service Job Updated to Date:
Service Job Created from Date: 08/06/2018
Service Job Created to Date:
Service Job Status:
Resolution Code:"|||||||||||||||||||||||^M
Created Date|Job Status|Schedule Date|Job
Number|Service Job Type|Verizon Customer Order
Number|Verizon Location Code|Service|Installation
Duration|Part Number
在你们把我和其他一些问题联系起来之后,我尝试了以下几行。但我的要求是将结果打印到同一个文件中
FILELIST=find$MFROUTDIR-maxdepth 1-name“XXXXXX\u 5G\u Order.*.txt”
对于$FILELIST中的nextFile;做
Created Date|Job Status|Schedule Date|Job
Number|Service Job Type|Verizon Customer Order
Number|Verizon Location Code|Service|Installation
Duration|Part Number
完成
通过写入以上代码行,输出将打印在控制台上。您能否建议一些方法将其打印到同一个文件中。这可以通过简单的
awk
命令轻松完成:
cat $nextFile | sed -n -e '/Created Date/,$p'
当遇到以创建日期开始的行时,我们将标志p
设置为1
。稍后,当p==1
时,我们使用awk默认操作打印每一行
参考文献:
-i
添加到sed调用中即可满足。@williampersell当我将-i添加到sed命令时,它会说“sed:无输入文件”。我使用了cat$nextFile | sed-I-n-e'/Created Date/,$p'@williampersell当我添加cat$nextFile | sed-I-n-e'/Created Date/,$p'$nextFile时,它起作用了。感谢您的回复。请您解释一下“{p=1}p”在上述命令中的作用。我完全不熟悉shell脚本。我没有使用awk,我使用了“cat$nextFile | sed-I-n-e'/Created Date/,$p'$nextFile”,它工作正常。我这里有一个小问题,比如当使用数据创建新文件时,它会在每行后面附加^M字符。你能帮我解决这个问题吗。实际上,我在上面的评论中提到的cat语句之后添加了这一行“sed-I-e's/^M//g'$nextFile”。但它没有起作用。我仍然看到^M您没有使用我建议的awk解决方案,我无法提供建议。
awk '/^Created Date/{p=1} p' file
Created Date|Job Status|Schedule Date|Job
Number|Service Job Type|Verizon Customer Order
Number|Verizon Location Code|Service|Installation
Duration|Part Number