shell - 使用 Shell 脚本获取文件大小的问题
问题描述
我有一个简单的 shell 脚本,可以读取我上传的文件日志,我想输出文件大小和行数(CSV 标头少一个)。我循环正确,但是当我尝试使用 find、wc 或 stat 来获取文件的大小时,它会出现“没有这样的文件或目录”的错误。当我在终端中尝试相同的命令时,它会按预期报告大小。
fileSizeBytes=$(sudo wc -c "$fileName" | awk {'print $1'})
fileSizeKb=$((fileSizeBytes/1024))
lineCount=$(sudo wc -l "$fileName" | awk {'print $1'})
lineCount=$(($lineCount-1))
fileName 变量包含文件的完整路径,并且我检查了所有用户是否具有读/写访问权限。无论我是使用我的帐户还是以 root 身份运行脚本,结果都是一样的。
wc: /plan/files/Today.csv: No such file or directory
wc: /plan/files/Today.csv: No such file or directory
wc: /plan/files/ERMS_STOCK_05052020.csv: No such file or directory
wc: /plan/files/ERMS_STOCK_05052020.csv: No such file or directory
wc: /plan/files/ERMS_RES_05052020.csv: No such file or directory
wc: /plan/files/ERMS_RES_05052020.csv: No such file or directory
有什么想法可能导致这种情况吗?我可以在我的 Mac 上使用类似的脚本(必须更改一些命令),但在我的 RHEL 7.7 VM 上我遇到了这个错误。
干杯
解决方案
感谢您的意见。我终于明白了可能发生的事情,那令人抓狂的尾随空白。我解析日志文件的方式是,路径末尾有一个空格。一点点 sed 魔法将其剥离,一切正常!
推荐阅读
- python - 裁剪的边界框不正确
- flutter - 容器大小取决于他的内容(文本)
- python - 计算 Pandas 滚动窗口内发生的 groupby 行数
- r - Power Bi 中 ggplot2 包的 R 脚本错误 - 找不到函数“after_stat”
- flutter - 参数类型“对象?” 不能分配给参数类型“颜色”
- ios - 从彼此相邻的三个 sf 符号创建 UIimage
- html - CSS 动画与文本重叠
- python - dict 在 python 3 中传播(ES6 javascript like , ... notation)
- mysql - 在 Knex 和 MySql 中检索格式化日期为 DD/MM/YYYY(使用查询生成器)
- javascript - 避免 - ag-grid 中的聚合