gpt4 book ai didi

linux - 提取没有同名目录的文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:19 25 4
gpt4 key购买 nike

抱歉这个奇怪的标题。我不知道如何用正确的方式表达它。

我正在尝试编写一个脚本来将我的 wiki 文件过滤到那些具有相同名称的目录和没有的目录。我会进一步阐述。

这是我的文件系统:

enter image description here

我需要做的是打印一份文件列表,其中包含名称中包含目录的文件和不包含目录的文件。

所以我的最终目标是:

目录:

Docs
Eng
Python
RHEL
To_do_list
articals

没有目录:

orphan.txt
orphan2.txt
orphan3.txt

我设法用目录获取了那些文件。这是我的代码:

getname () {
file=$( basename "$1" )
file2=${file%%.*}
echo $file2
}

for d in Mywiki/* ; do

if [[ -f $d ]]; then
file=$(getname $d)

for x in Mywiki/* ; do
dir=$(getname $x)

if [[ -d $x ]] && [ $dir == $file ]; then
echo $dir
fi
done

fi

done

但坚持让那些没有的。如果这是错误的做法,请说明正确的做法。

感谢任何帮助。谢谢。

最佳答案

这是一个快速尝试。

for file in Mywiki/*.txt; do
nodir=${file##*/}
test -d "${file%.txt}" && printf "%s\n" "$nodir" >&3 || printf "%s\n" "$nodir"
done >with 3>without

这无耻地为非孤儿使用标准输出。也许更稳健地为此打开另一个单独的文件描述符。

另请注意,除非您特别要求 shell 对标记的值进行空格标记化和通配符扩展,否则所有内容都需要被引用。 Here's the scoop on that.

关于linux - 提取没有同名目录的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45951710/

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