Bash 如何在gnuplot标题中包含目录名的详细信息?

Bash 如何在gnuplot标题中包含目录名的详细信息?,bash,gnuplot,Bash,Gnuplot,如何在gnuplot的标题中包含目录名的详细信息?目前,我的gnuplot脚本是: set multiplot title "Pressure Convergence Plots" 但我想在标题中说:“溢出率1和网格细化0的压力收敛图”,其中“Q1_GR0”是目录名,“1”和“0”是目录名中“Q”和“GR”后面的数字 如果这是不可能的,标题是否可以说:“Q1_GR0的压力收敛图”,其中“Q1_GR0”是目录名 我使用的是gnuplot版本4.6 谢谢。这可以通过bash命令完成。我喜欢它非常复

如何在gnuplot的标题中包含目录名的详细信息?目前,我的gnuplot脚本是:

set multiplot title "Pressure Convergence Plots"
但我想在标题中说:“溢出率1和网格细化0的压力收敛图”,其中“Q1_GR0”是目录名,“1”和“0”是目录名中“Q”和“GR”后面的数字

如果这是不可能的,标题是否可以说:“Q1_GR0的压力收敛图”,其中“Q1_GR0”是目录名

我使用的是gnuplot版本4.6


谢谢。

这可以通过bash命令完成。我喜欢它非常复杂:

rate = "`pwd | rev | cut -f 1 -d '/' | rev | cut -f 2 -d 'Q' | cut -f 1 -d '_'`"
refinement = "`pwd | rev | cut -f 1 -d '/' | rev | cut -f 2 -d 'R'`"
fulltitle = 'Pressure Convergence Plots for overflow rate '.rate.' and grid refinement '.refinement
set multiplot title fulltitle

这取决于您使用的sed版本,但这对我来说很有效:

rep = sprintf("Pressure Convergence Plots for overflow rate \\1 and grid refinement \\2")
t = system(sprintf("sed -r 's/SF[0-9]+_Q([0-9]+)_GR([0-9]+)/%s/' <<<${PWD##*/}", rep))
set multiplot title t
rep=sprintf(“溢出率\\1和网格细化\\2的压力收敛图”)

t=system(sprintf)(“sed-r's/SF[0-9]+\u Q([0-9]+)\u GR([0-9]+)/%s/”另一个变体可以是:
info=system([0-9]*\)\u GR\([0-9]*\)$:\1\2:”;设置多个标题“Rate”。word(信息,1),“finition”。word(信息,2)
。完整的目录名是“SF1\u Q1\u GR0”。我不认为“SF1”会干扰答案,但使用您的脚本,标题是:“SF1\u溢出率1和网格细化0的压力收敛图”。如何从标题中删除“SF1\u”呢?谢谢。我已经编辑了正则表达式。它现在应该可以执行您想要的操作。或者您可以使用
sed-r的s/*Q([0-9]+)\u GR([0-9]+)跳过所需标记之前的所有内容/%s/'
@Christoph,或者您甚至可以使用类似于
的方法从输入中删除更多路径。是的,这确实是无止境的。我刚才提到了
*
,因为我认为最好保持它的通用性,所以这也适用于目录
RR15\u Q1\u GR2
。如果需要的话,这是另一回事;)