linux – 如何使用基本的unix工具从路径名中删除扩展名

前端之家收集整理的这篇文章主要介绍了linux – 如何使用基本的unix工具从路径名中删除扩展名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要收集一个文件列表并将其放在一个文本文件中.但是,文件不应包含其扩展名.

我现在没有删除文件扩展名的命令:

ls -1 /a/dir/*/dir/* > textfile

所有选定文件的扩展名为.[a-z] {3}

(我需要这个的原因是因为我需要一个唯一的基本名称列表,并且在此步骤之后唯一将解决该问题)

解决方法

我总是希望包含一个仅限bash的解决方案:
for file in /a/dir/*/dir/*; do
    echo "${file%.*}" >> ~/file_list
done

并使用可选的if语句将文件限制为您请求的扩展名:

shopt -s extglob
for file in /a/dir/*/dir/*; do
    if [[ "$file" =~ \.[a-zA-Z]{3}$]]; then
        echo "${file%.*}" >> ~/file_list
    fi
done

this similar serverfault问题中我解释了“${file%.*}”参数扩展.

原文链接:https://www.f2er.com/linux/395858.html

猜你在找的Linux相关文章