可能重复:
Extract filename and extension in bash
Linux: remove file extensions for multiple files如何删除文件名的后缀特定的目录,在linux
For example, A.txt B.txt, I want to rename then to A and B .
如何我shell脚本做呢?或者其他方法?谢谢。
可能重复:
Extract filename and extension in bash
Linux: remove file extensions for multiple files如何删除文件名的后缀特定的目录,在linux
For example, A.txt B.txt, I want to rename then to A and B .
如何我shell脚本做呢?或者其他方法?谢谢。
我会使用类似:
#!/bin/bash
for file in *.txt
do
echo "$file" "$(echo $file | sed -e 's/\.txt//')"
done
当然替换“.TXT”到任何文件扩展名要删除,或两个以上的引用,最好只使用$ 1(第一个传递给脚本的参数)。
Michael G.
for FILE in *.txt ; do mv -i "$FILE" "$(basename "$FILE" .txt)" ; done
它的工作原理。谢谢 !! – Clavier 2012-08-14 02:12:34
for i in *.txt; do mv "$i" "${i%.txt}"; done
'$(ls * .txt)'应该是'* .txt','$ file'应该被引用为'“$ file”'(以及'“$(echo ...)”') ,正则表达式应该是''s/\。txt $ //''('g'标志表示“做多个替换”,这不是你想要的,你只需要一个)。 – 2012-08-14 02:20:37
谢谢,我会更改代码。 – mjgpy3 2012-08-14 02:24:14
更一般的方法.. – Clavier 2012-08-14 02:25:00