0
我寫了一個小腳本,它打印包含有問題的字符序列的文件的名稱。如何讓這個腳本更簡潔?
#!/bin/bash
# Finds all files in the repository that contain
# undesired characters or sequences of characters
pushd .. >/dev/null
# Find Windows newlines
find . -type f | grep -v ".git/" | grep -v ".gitmodules" | grep -v "^./lib" | xargs grep -l $'\r'
# Find tabs (should be spaces)
find . -type f | grep -v ".git/" | grep -v ".gitmodules" | grep -v "^./lib" | xargs grep -l $'\t'
# Find trailing spaces
find . -type f | grep -v ".git/" | grep -v ".gitmodules" | grep -v "^./lib" | xargs grep -l " $"
popd >/dev/null
我想把它組合成一行,即通過讓grep尋找\ r OR \ t或尾隨空格。我將如何構造一個正則表達式來做到這一點?似乎對於轉義字符需要使用一個特殊的序列($'\X'
),我不知道如何將這些組合起來...
我正在運行OS X,並且正在尋找一種適用於兩者的解決方案基於BSD和GNU的系統。
看起來不錯,謝謝! –