所以我目前的shell脚本是:的UNIX shell脚本:如何修改输出相应的文件名
for j in *.jpg
do
tesseract $j $j
done
其中正方体JPG文件转换为文本文件。 有了这个脚本,如果有一个文件HAHA.jpg,然后输出文件名变为 HAHA.jpg.txt但我希望它只是HAHA.txt
有没有一种方法,使输出文件名称为HAHA.txt而不是HAHA.jpg.txt?
所以我目前的shell脚本是:的UNIX shell脚本:如何修改输出相应的文件名
for j in *.jpg
do
tesseract $j $j
done
其中正方体JPG文件转换为文本文件。 有了这个脚本,如果有一个文件HAHA.jpg,然后输出文件名变为 HAHA.jpg.txt但我希望它只是HAHA.txt
有没有一种方法,使输出文件名称为HAHA.txt而不是HAHA.jpg.txt?
加入这一行的tesseract的命令后:
for j in *.jpg
do
tesseract $j $j
mv ${j}.txt ${j/jpg/txt}
done
即使正方体已更名为您的文件,该变量$j
将包含HAHA.jpg。
如果你有壳可变j
可以剥离后缀如下
${j%%.jpg}
凡%%
表示最长匹配后缀应该被去掉,.jpg
是图案(“点匹配给定的图案,后跟三个字母:j,p和g“)。
剥离任何分机,你可以使用$ {Ĵ%%。*}。 – DavidA 2013-03-21 05:44:27
使用基本名称:
for j in *.jpg
do
tesseract $j $(basename -s .jpg $j)
done
谢谢!你能告诉我什么是$ {j/jpg/txt}行吗?我对shell脚本很陌生,!在HAHA.jpg中使用 – Sardonic 2013-03-21 05:51:11
,它将tpg替换为jpg – Guru 2013-03-21 05:51:52