String 使用shell脚本从文件中提取字符串
我有一个名为log.txt的文件。文件包含如下内容:-String 使用shell脚本从文件中提取字符串,string,unix,shell,extract,String,Unix,Shell,Extract,我有一个名为log.txt的文件。文件包含如下内容:- /proc used avail 10 100 如何使用shell脚本从该文件中提取以下字符串。我希望提取以下字符串 /proc 10 100 每当一行与/proc匹配时,上述awk命令调用getline两次。print语句然后打印出匹配后的第二行 输出: /proc 10 100 每当一行与/proc匹配时,上述awk命令调用getline两次。print语句然后打印出匹配后的第二行 输出: /proc 10 100
/proc
used avail
10 100
如何使用shell脚本从该文件中提取以下字符串。我希望提取以下字符串
/proc
10
100
每当一行与/proc
匹配时,上述awk
命令调用getline
两次。print
语句然后打印出匹配后的第二行
输出:
/proc
10
100
每当一行与/proc
匹配时,上述awk
命令调用getline
两次。print
语句然后打印出匹配后的第二行
输出:
/proc
10
100
使用sed,如果是10到100之间的空格:
sed -e '2d;3s/ */\n/' log.txt
paste -s -d " " file | tr -s " " | cut -d " " -f 1,4,5 | tr " " "\n"
如果您有10到100个标签,并且您提供了GNU sed:
sed -e '2d;3s/\t\t*/\n/' log.txt
如果是10到100之间的制表符,并且您没有给出GNU sed,而是实际制表符,而不是上面的2\t。使用sed,如果是10到100之间的空格:
sed -e '2d;3s/ */\n/' log.txt
paste -s -d " " file | tr -s " " | cut -d " " -f 1,4,5 | tr " " "\n"
如果您有10到100个标签,并且您提供了GNU sed:
sed -e '2d;3s/\t\t*/\n/' log.txt
如果是10到100之间的制表符,并且您没有提供GNU sed,而是实际制表符,而不是上面的2\t。避免使用sed(或awk)并使用标准UNIX实用程序,如果是10到100之间的空格:
sed -e '2d;3s/ */\n/' log.txt
paste -s -d " " file | tr -s " " | cut -d " " -f 1,4,5 | tr " " "\n"
如果是10到100之间的选项卡,并且有GNU实用程序:
paste -s -d "\t" file | tr -s "\t" | cut -f 1,4,5 | tr "\t" "\n"
如果您的选项卡介于10和100之间,并且您没有提供GNU实用程序,但提供了实制表符而不是上面的\t和实制表符而不是\n.避免使用sed(或awk)并使用标准UNIX实用程序,并且如果您的空格介于10和100之间:
sed -e '2d;3s/ */\n/' log.txt
paste -s -d " " file | tr -s " " | cut -d " " -f 1,4,5 | tr " " "\n"
如果是10到100之间的选项卡,并且有GNU实用程序:
paste -s -d "\t" file | tr -s "\t" | cut -f 1,4,5 | tr "\t" "\n"
若您的标签在10到100之间,并且您并没有提供GNU实用程序,但实际标签代替了上面的\t,实际标签代替了\n。请不要忘记对您现有的问题进行说明。在您对Eric的答案和我自己的答案发表评论之后,请编辑您的问题,以包括
log.txt
的实际内容以及您的实际预期输出,而不是期望StackOverflow社区猜测。非常感谢!啊哈。谢谢@dogbane。一点格式就可以改变世界。别忘了对你现有的问题进行分析。在你对Eric的答案和我自己的答案发表评论之后,请你编辑你的问题,以包括log.txt
的实际内容以及你的实际预期输出,而不是期望StackOverflow社区猜测。非常感谢!啊哈。谢谢@dogbane。稍微格式化一下就可以创建difference.thx,但实际上文件内容与上面的不同。它类似于:-在第一行中,它是唯一的/proc。第二行是“已使用”和“可用”,下一行是“10”和“100”。低于“使用”的为“10”,低于“利用”的为“100”。结构是这样的。希望你能理解我想在这里描述的内容,请看我在第一页的问题(向上滚动)。。。你的答案不适用于thatthx,但实际上文件内容与上述内容不同。它类似于:-在第一行中,它是唯一的/proc。第二行是“已使用”和“可用”,下一行是“10”和“100”。低于“使用”的为“10”,低于“利用”的为“100”。结构是这样的。希望你能理解我想在这里描述的内容,请看我在第一页的问题(向上滚动)。。。你的答案并不适用于此