【问题标题】:Add missing trailing newline to all files in Git repo向 Git 存储库中的所有文件添加缺少的尾随换行符
【发布时间】:2020-12-15 05:09:28
【问题描述】:

我的 Git 存储库中的许多文件都缺少尾随换行符:

为了保持一致性,并消除与 git 相关的视觉混乱,我想自动将其添加到缺少的地方。

【问题讨论】:

    标签: bash trailing-newline


    【解决方案1】:
    #!/bin/bash
    
    RED='\033[0;31m'
    GREEN='\033[0;32m'
    GREY='\033[0;30m'
    RESET='\033[0m' # No Color
    
    #files=$(find ./files -type f)
    files=$(git ls-files)
    
    for file in $files; do
        if [[ $(tail -c 1 "$file" | xxd -p) != 0a ]]; then
            echo -en "Fix ${RED}$file${RESET}? (y/n) "
            read -n 1  answer
            echo
            if [[ $answer = 'y' ]]; then
                echo -e "FIXING ${GREEN}$file${RESET}"
                echo >> $file
            else
                echo "Skipping $file"
            fi
        else
            echo -e "${GREY}$file has newline${RESET}"
        fi
    done
    
    

    【讨论】:

    • 你会得到一个写得很好的脚本的点头,但我会犹豫是否包含颜色的 ANSI 转义。虽然 VT 终端支持,但不能保证 OP 使用兼容的终端,它们对于脚本操作是多余的。不是敲门声,只是考虑。
    猜你喜欢
    • 2015-01-26
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    相关资源
    最近更新 更多