Linux 在basename位于目录中的位置添加具有指定文件扩展名的文件

Linux 在basename位于目录中的位置添加具有指定文件扩展名的文件,linux,bash,file,cp,Linux,Bash,File,Cp,如果我有这样一个目录: dir/ file1.txt file2.txt 我想创建file1.jpg和file2.jpg,其中新的jpg都是空的 然后我会以 dir/ file1.txt file2.txt file1.jpg file2.jpg 我知道我可以使用 for f in *.txt; do cp "$f" "$(basename "$f" .txt).jpg" done 但是生成的jpgs将包含原始.txt的内容,但我需要它们为空。有什么想法吗?如前所述,您可以使用

如果我有这样一个目录:

dir/
 file1.txt
 file2.txt
我想创建
file1.jpg
file2.jpg
,其中新的jpg都是空的

然后我会以

dir/
 file1.txt
 file2.txt
 file1.jpg
 file2.jpg
我知道我可以使用

for f in *.txt; do
cp "$f" "$(basename "$f" .txt).jpg"
done

但是生成的jpgs将包含原始.txt的内容,但我需要它们为空。有什么想法吗?

如前所述,您可以使用触摸来完成以下操作:

for f in *.txt; do
    touch "${f/.txt/.jpg}"
done

如前所述,您可以使用触摸来完成以下操作:

for f in *.txt; do
    touch "${f/.txt/.jpg}"
done

您可以使用
touch
,也就是说,
touch“$(basename“$f.txt).jpg”
当然可以!谢谢,您可以使用
touch
来代替,也就是说,
touch“$(basename“$f.txt).jpg”
当然可以!非常感谢。