user8314628 Asked: 2019-03-01 21:37:48 +0800 CST2019-03-01 21:37:48 +0800 CST 2019-03-01 21:37:48 +0800 CST 如何知道 ls -l 输出中每个元素的类型? 772 我正在检查输出中的每个字段到底是什么ls -l。这篇文章中的例子 解决了我的问题。但我又想知道每个字段的类型是什么。弦很明显。但是数字呢?比如10,2048它们是整数还是字符串?有什么办法可以检查每个字段的类型吗? ls output 1 个回答 Voted Best Answer Kusalananda 2019-03-02T00:23:45+08:002019-03-02T00:23:45+08:00 终端中的命令产生的文本是文本字符串。在终端中查看原始二进制数据,而不将其转换为某种文本表示,通常会产生“乱码输出”(例如,在cat压缩文件上运行时),并且在某些情况下甚至可能使终端处于不可用状态. 的输出中的数字ls -l是文本字符串。 要将文本作为整数读取到例如 C 程序中,程序必须将它们作为文本字符串读取,然后使用 eg 将它们转换为整数strtol(),或者使用scanf()(或等效)正确的格式字符串。 读取整数的Shell工具,例如awkfor example,通常已经根据工具实现的规则在后台进行了这种转换。 旁注:AC 程序不应从ls -l. 它应该调用stat()或lstat()返回的文件readdir()。
终端中的命令产生的文本是文本字符串。在终端中查看原始二进制数据,而不将其转换为某种文本表示,通常会产生“乱码输出”(例如,在
cat
压缩文件上运行时),并且在某些情况下甚至可能使终端处于不可用状态.的输出中的数字
ls -l
是文本字符串。要将文本作为整数读取到例如 C 程序中,程序必须将它们作为文本字符串读取,然后使用 eg 将它们转换为整数
strtol()
,或者使用scanf()
(或等效)正确的格式字符串。读取整数的Shell工具,例如
awk
for example,通常已经根据工具实现的规则在后台进行了这种转换。旁注:AC 程序不应从
ls -l
. 它应该调用stat()
或lstat()
返回的文件readdir()
。