gpt4 book ai didi

linux - 对多个文件调用 Stat - Linux

转载 作者:太空宇宙 更新时间:2023-11-04 04:48:31 26 4
gpt4 key购买 nike

所以我需要对大量苍蝇调用 stat 并将结果输出到文本文件。我已经尝试过了

stat 'Dir/$file_names' -c %n,%s,%y >> meta.txt

$file_name 的格式为:

"file1" "file2" "file3"

但它不起作用,因为调用 stat 时引号仍保留在路径中。

有没有办法删除它们或者循环遍历字符串?

另外一些文件名有空格,所以我可能需要引号来指定文件

文件名字符串使用以下命令设置

file_name=`ssh user@server  find /attachments -type f -mtime -100 -daystart -printf '\"%f\"\ ' `

最佳答案

为了扩展变量,请使用双引号:

stat "Dir/$file_names" -c %n,%s,%y >> meta.txt

如果$file_names包含多个文件名,那么您可以使用for循环并以使用分隔符的方式格式化变量。例如,您可以使用 : 分隔文件名,而不是:

"file1" "file2" "file3"

改用这个:

file1:file2:file3

然后将 IFS 特殊变量(称为“内部字段分隔符”,由 shell 识别)设置为 : 并使用 for 循环:

IFS=":"for f in $file_namesdo    stat "Dir/$f" -c %n,%s,%y >> meta.txtdone

如果您只需要一个命令,这也可以是一行:

IFS=":"; for f in $file_names; do stat "Dir/$f" -c %n,%s,%y >> meta.txt; done

这将确保即使您的文件名包含空格,一切也能正常工作,例如:

file1:file with spaces:even   more   spaces

关于linux - 对多个文件调用 Stat - Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18185427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com