我有大量教學工作中的文件,我想將它們定期備份到 OneDrive 中。我的同事不擅長命名文件,因此他們需要清理 OneDrive 才能取得這些文件。
我無法理解的是如何在句點之前選擇一個空格。
我正在嘗試這個
bash-3.2$ echo "foo bar .pdf" | tr -s " \." '\.'
並得到這個
foo.bar.pdf
代替foo bar.pdf
。我的命令有什麼問題嗎?
答案1
tr
取代單身的具有單個字符的字符,並且您告訴它用點替換每個空格和每個點(除了-s
將空格+點壓縮到單個實體中進行替換)。換句話說,一個空格或點就足以觸發您的tr
.
若要替換字串,請使用sed
:
echo "foo bar .pdf" | sed 's/ \././g'
注意:我使用是g
因為tr
您在全域範圍內使用了 actions ,所以我假設這就是您通常想要的(對於這個特定的 string 並不重要foo bar .pdf
)。