在bash循环中访问文件特征/属性

时间:2018-12-29 20:13:53

标签: bash loops filesize

我正在学习有关bash脚本的更多信息。当遍历目录中的文件时,我希望能够回显的不仅仅是文件名。如何访问关联的文件数据?

我已使用此示例代码列出了文件夹中的所有文件。

for file in .* *; do echo "$file"; done

我需要添加些什么来访问$ file的大小或日期?我注意到这不像$ file.size和$ file.date那样简单。

1 个答案:

答案 0 :(得分:2)

尽管您称它们为“文件”,但是得到的只是带有文件名的字符串。 在for循环的每次迭代中,可以将$ file与其他命令(例如“ stat”或“ ls -l”)一起使用,以提取有关文件的信息,然后必须解析其输出(使用“ awk” “或” sed”)。

因此解决方案将是:

for file in .* *; do COMMAND_TO_GET_INFO "$file" | COMMAND_TO_PARSE_OUTPUT ; done

其中COMMAND_TO_GET_INFO和COMMAND_TO_PARSE_OUTPUT可以根据您的需要使用不同的命令。