sh 递归删除所有文件的尾部空格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 递归删除所有文件的尾部空格相关的知识,希望对你有一定的参考价值。

# Generic solution which checks that the MIME type starts with text/:
while IFS= read -r -d '' -u 9
do
    if [[ "$(file -bs --mime-type -- "$REPLY")" = text/* ]]
    then
        sed -i -e 's/[ \t]\+\(\r\?\)$/\1/' -- "$REPLY"
    else
        echo "Skipping $REPLY" >&2
    fi
done 9< <(find . -type f -print0)
find . -not \( -name .svn -prune -o -name .git -prune \) -type f -print0 | xargs -0 sed -i '' -E "s/[[:space:]]*$//"
# Git repository-specific solution 
# Source: http://unix.stackexchange.com/questions/36233/how-to-skip-file-in-sed-if-it-contains-regex/36240#36240
git grep -I --name-only -z -e '' | xargs -0 sed -i -e 's/[ \t]\+\(\r\?\)$/\1/'

以上是关于sh 递归删除所有文件的尾部空格的主要内容,如果未能解决你的问题,请参考以下文章

sh 递归删除目录中的所有node_modules文件夹

sh 在Mac上递归删除所有node_modules文件夹

sh 从目录中删除所有.AppleDouble,递归并强制

sh 从目录中删除所有.AppleDouble,递归并强制

markdown 删除Eclipse中的尾部空格

sh 删除文件名中的空格。