簡體   English   中英

用單引號替換雙

[英]Substitute double with single quotes

我需要評估目錄中每個文件名的長度。 這是我的工作:

files=$(ls -Q)
for file in $files;
do
    echo lenght: ${#file}
done

但是長度用雙引號(+2)計算。 我該如何逃脫呢?

不要解析ls的輸出,請使用通配符並for

for file in * ; do
    echo "$file: ${#file}"
done

您不需要ls ,並且您正在經歷一些為什么解析ls的輸出是危險/棘手的原因

你可以做

for file in *; do
    echo "length: ${#file}"
done

為什么要使用“ -Q”標志? 如果省略它,則會得到文件名的實際長度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM