我試圖擺脫日期 - 所有這些日期從2015年至今2017. 我想將每個foo_data_$date
重命名爲只foo_data_*
。我只需要文件名稱。不是所有的個別日期。 我不明白sed的正則表達式 - 我可以在perl中使用perl -nle'print /(foo_data _)\ d + txt),但無法弄清楚如何使用sed來完成它。 我想在sed中這樣做,因爲我一直在使用sed -i標誌並更改文件。sed - 從文件的每一行中刪除日期
cat /tmp/foo | head | sed -e 's/foo_data_20*txt/foo_data_\*/g'
foo_data_20150901.txt
foo_data_20150902.txt
foo_data_20150906.txt
foo_data_20150907.txt
foo_data_20150908.txt
foo_data_20150909.txt
foo_data_20150912.txt
我認爲OP實際上需要'*'結果。只需在最後一個斜槓前添加'*'即可。沒有必要引用替換右側的'*'。另外,除非在一條線上有多個替代品,否則最後不需要'g'。 –