如何在变量中存储回显 |切割结果



例如

    echo "filename.pdf" | cut -d'.' -f 1

这样我得到"文件名"字符串。我想将其存储在一个名为 FILE 的变量中,然后像这样使用它:

    DIR=$PATH/$FILE.txt

所以,我的脚本想要创建一个文件.txt与pdf同名(不是文件的副本,只是名称)通过这种方式,我尝试分配回声的结果 |切

   FILE= 

但我只得到"路径/.txt",所以文件名丢失了。

FILE=$(echo "filename.pdf" | cut -d'.' -f 1)

所以,我的脚本想要创建一个文件.txt与pdf同名

您可以使用 BASH 字符串操作:

s="filename.pdf"
p="${s/%.pdf/.txt}"
echo "$p"
filename.txt

POSIX 参数扩展将读取

file=filename.pdf
filename="${file%%.*}"  # Two % will remove multiple extensions, if applicable
dir=$path/$filename.txt

相关内容

  • 没有找到相关文章

最新更新