gpt4 book ai didi

linux - (Linux) 将变量格式化为列 printf

转载 作者:太空宇宙 更新时间:2023-11-04 12:17:59 25 4
gpt4 key购买 nike

我试图在 3 列中显示文件名、大小和类型。数据显示不正确,我就是不明白为什么。

这是我的代码:

    fileName=$(ls -a ~/dirname)
fileSize=$(find ~/dirname/* -printf '%s\n';)
fileType=$(find ~/dirname/* | xargs file | awk '{print $3}')

printf " ----------------------------------------------------------\n"
printf "%15s %15s %15s\n" "Name" "Size" "Type"
printf " ----------------------------------------------------------\n"
printf "%15s %15s %15s\n" "$fileName" "$fileSize" "$fileType"


输出显示如下:(输出为图像只是为了避免 stackoverflows 格式化)

Output Screenshot

最佳答案

我在 Barmar 的一点帮助下解决了这个问题,确定了我做错了什么:

    for fileName in $(ls -a ~/dirname/*);
do
fileSize=$(stat --printf="%s" "$fileName")
fileType=$(file "$fileName" | awk '{print $3}')
printf "%15s %15s %15s\n" $(basename "$fileName") "$fileSize" "$fileType"
done

关于linux - (Linux) 将变量格式化为列 printf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46900187/

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