当前位置:  开发笔记 > 编程语言 > 正文

Unix脚本读取特定的行和位置

如何解决《Unix脚本读取特定的行和位置》经验,为你挑选了1个好方法。

我需要有一个脚本读取进来的文件并检查信息以进行验证.

在要读取的文件的第一行是日期,但是以数字形式.例如:20080923但是在日期之前是其他信息,我需要从位置27读取它.含义第1行位置27,我需要得到那个数字,看它是否大于另一个数字.

我使用grep命令检查其他信息,但我使用特殊字符进行搜索,在这种情况下,日期之前的信息总是不同,所以我不能使用字符进行搜索.它必须由第1行第27位完成.



1> Jonathan Lef..:
sed 1q $file | cut -c27-34

sed命令读取文件的第一行,cut命令将删除一行中的字符27-34,即您所说的日期.

后来添加:

对于更一般的情况 - 例如,您需要读取第24行,而不是第一行,您需要一个稍微复杂的sed命令:

sed -n -e 24p -e 24q | cut -c27-34
sed -n '24p;24q' | cut -c27-34

-n选项意味着"默认情况下不打印行"; 的24p装置的打印线24; 这24q意味着在处理第24行之后退出.您可以将其保留,在这种情况下sed将继续处理输入,实际上忽略它.

最后,特别是如果您要验证日期,您可能希望将Perl用于整个作业(或Python,或Ruby,或Tcl,或您选择的任何脚本语言).

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有