如何读取带有文件的数字(魔术)?

霍斯特

我想用“文件绘图”编写绘图的格式

文件开始像:

CAD
A1 
mm

(A1之后为空白)

或者:

CAD
A00
m 

(在“ m”后留空白)

我尝试了类似文件魔术般的操作:

0      string  CAD\n     CAD-Drawing
>&0    regex   ^A[0-9]+  Format=[%s]
>>&0   search  \n
>>>&0  regex   ^[a-z]+   Units=[%s]

但是没有运气!有什么办法可以解决这个问题?我宁愿没有空白。

那不仅仅意味着:

0     string  CAD\n  CAD-Drawing
>&0   string  x      Format=[%s]
>>&0  string  x      Units=[%s]

结果为... Format = [A1] ...或... Units = [m]

有时很棒

中的man magic正则表达式未详尽描述。但是,请看一下JigglyNaga给出的出色答案

一开始,你一定要逃逸正则表达式几个大字在魔术文件:^+和空格的例子。这是使魔术文件适用于您描述的文件的两种方法:

0      string  CAD\n       CAD-Drawing
>&0    regex   \^A[0-9]\+  Format=[%s]
>>&0   search  \n
>>>&0  regex   \^[a-z]\+   Units=[%s]

这将忽略空格,因此将打印以下内容:

$ file -m mmm file[12].cad 
file1.cad: CAD-Drawing Format=[A1] Units=[mm]
file2.cad: CAD-Drawing Format=[A00] Units=[m]

一种更好的方法(以我的愚见)是在VersionUnits字符串中保留空格

0      string  CAD\n         CAD-Drawing
>&0    regex   \^A[0-9\ ]\+  Format=[%s]
>>&0   search  \n
>>>&0  regex   \^[a-z\ ]\+   Units=[%s]

(请注意,即使它们位于字符组中,我也需要对其进行转义)。

打印以下内容:

$ file -m mmm file[12].cad 
file1.cad: CAD-Drawing Format=[A1 ] Units=[mm]
file2.cad: CAD-Drawing Format=[A00] Units=[m ]

参考:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用熊猫读取带有逗号数字的* .csv文件?

如何在每行Java上读取带有数字的文件

如何快速读取和解析带有数字的文本文件(在C中)?

如何读取带有注释的 JSON 文件?

C ++从带有字符的文件中读取数字

如何使用Java读取带有部分的配置文件

如何读取带有嵌套列与熊猫的Excel文件?

如何正确读取带有单引号的 csv 文件?

如何在csv文件中求和带有逗号的数字?

如何从文件中读取数字

从带有数字的文本文件中读取字母

带有警告“ 100”的CheckStyle是一个魔术数字

如何在扫描仪输入中读取带有斜杠“ /”的txt文件并读取某些部分?

如何以随机的行间隔读取带有字符串的数字数据?

gzip:带有-文件的意外结尾-无论如何如何读取文件

从文件行读取所有数字

NodeJS读取带有日语字符的文件

带有符号的CSV文件读取索引

读取带有文本内容的 csv 文件

Spark - 如何从 S3 读取多个带有文件名的 Json 文件

如何从文件对象中读取带有 pyarrow 的 csv.gz 文件?

如何读取文件夹名称中带有方括号的文件路径

如何使用glob读取具有数字名称的有限文件集?

带有数字列的过滤文件

如何查找文件名中带有数字的.php文件

如何在Java中有效读取带有定界值的文本文件?

熊猫读取带有浮点值的csv文件会导致奇怪的舍入和十进制数字

在C ++中读取带有2个数字的行

带有2位数字格式的数字的Mv文件