我有一个要求,我想修剪目录中包含的所有文件的文件扩展名:-
文件会是这样的;
America.gz:2170
Europe.gz:2172
Africa.gz:2170
Asia.gz:2172
我需要的是从所有文件中删除 :2170 和 :2172,以便只保留 .gz 扩展名。
我知道在下面的 SED 代码的帮助下,一个文件中的所有条目都是可能的,但是我需要一个目录中的所有文件:-
**sed 's/:.*//' file**
任何修复此问题的 bash 或 awk 代码将不胜感激。
提前致谢。
最佳答案
您可以在 bash
中执行此操作:
shopt -s nullglob
for f in *.gz:*; do
mv -- "$f" "${f%:*}"
done
"${f%:*}"
将删除 :
之后的所有内容,在变量 $f
关于regex - 修剪目录中所有文件的一部分文件扩展名 - Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32997749/