gpt4 book ai didi

linux - 如何在 find 命令中使用变量?

转载 作者:IT王子 更新时间:2023-10-29 00:34:15 25 4
gpt4 key购买 nike

我是 bash 的新手,如果我的问题格式不正确或没有意义,我深表歉意:)

我正在尝试做类似的事情:

#..................... previous code where F is defining

filename="$F";
echo "$filename";
find . -name ????? | while read fname; do
echo "$fname";
done;

我想在 find 命令中使用我的变量 $filename(而不是 ????),但我不知道如何使用。我在那里添加了一些固定值用于测试目的,例如“abc.txt”(它存在并存储在我的变量中),它运行良好,我只是不知道如何在 find 命令中使用变量。

有点像

find . -name '$filename.txt' | while read fname;

更新:(我在文件夹中有 2 个同名文件(.xml 和 .txt))

find . -type f -name \*.xml | while read F; 
do something || echo $F;
cat "$F";
#name without extenssion
filename="${F%.*}";
echo "$filename";
find . -name "$filename.txt" | while read fname; do
echo "$fname";
done;
done;

最佳答案

这会起作用:

filename="$F";
echo "$filename";
find . -name "$filename.txt" | while read fname; do
echo "$fname";
done;

虽然你可以很容易地做到:

find . -name "$F.txt" | while read fname; do
echo "$fname";
done;

变量扩展需要双引号(或根本不用引号)。单引号不起作用。

关于linux - 如何在 find 命令中使用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32142285/

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