我正在尝试使用GNU Parallel来执行基于CSV文件中的值的命令。我的CSV文件有多个列,每行第5列的值是一个类似'${OUTDIR}/test'
的字符串。
下面是我的CSV外观的示例:
col1,col2,col3,col4,'${OUTDIR}/test',col6
我想使用GNU Parallel对第5列的值运行mkdir -p,将${OUTDIR}
解释为实际的shell变量。例如,如果OUTDIR=/tmp
,则命令应该作为mkdir -p /tmp/test
运行。
我尝试了以下命令,但它没有解释${OUTPUT}:
parallel --colsep ',' 'mkdir -p {5}' :::: data.csv
制作:
mkdir -vp \'\$\{OUTDIR\}/test\'
mkdir: created directory ''\''${OUTDIR}'
mkdir: created directory ''\''${OUTDIR}/test'\'''
如何让GNU Parallel解释CSV中的字符串值${OUTPUT}?我试过使用eval mkdir -p {5}
,但它不能像我希望的那样处理引用。
1条答案
按热度按时间nbysray51#
使用
uq()
函数,如Ole here所示: