如何从文本文件中读取一行,将其保存为变量,然后在bash命令中使用它
我有一个list.txt文件,其中包含一列3个值(1、0、0),我希望将每行的值读入一个变量,然后在命令中使用它 我试着这样做:如何从文本文件中读取一行,将其保存为变量,然后在bash命令中使用它,bash,Bash,我有一个list.txt文件,其中包含一列3个值(1、0、0),我希望将每行的值读入一个变量,然后在命令中使用它 我试着这样做: for i in {1..3} do a=`sed -n "$i"p list.txt` b="fslmaths HCP"$i".nii.gz -mul "$a" posMEM/HCP"$i".nii.gz" echo $b done 但我得到了以下结果: posMEM/HCP1.nii.gzz -mul 1 posMEM/HCP2.nii.gzz -mul
for i in {1..3}
do
a=`sed -n "$i"p list.txt`
b="fslmaths HCP"$i".nii.gz -mul "$a" posMEM/HCP"$i".nii.gz"
echo $b
done
但我得到了以下结果:
posMEM/HCP1.nii.gzz -mul 1
posMEM/HCP2.nii.gzz -mul 0
posMEM/HCP3.nii.gzz -mul 0
我希望得到的是
fslmaths HCP1.nii.gz -mul 1 posMEM/HCP1.nii.gz
fslmaths HCP2.nii.gz -mul 0 posMEM/HCP2.nii.gz
fslmaths HCP3.nii.gz -mul 0 posMEM/HCP3.nii.gz
给定的代码对我有效!!!,为了改进,请在脚本中提供
list.txt
的完整路径。哦,这很奇怪,我尝试输入完整路径,这没有任何区别,您可以尝试在调试模式下运行脚本:bash-x yourscript.sh
并查看发生了什么…list.txt
可能包含dos\r
字符。我只是将excel文件中的一列复制并粘贴到list.txt中。如果是,我如何删除\r给定的代码对我有效!!!,为了改进,请在脚本中提供list.txt
的完整路径。哦,这很奇怪,我尝试输入完整路径,这没有任何区别,您可以尝试在调试模式下运行脚本:bash-x yourscript.sh
并查看发生了什么…list.txt
可能包含dos\r
字符。我只是将excel文件中的一列复制并粘贴到list.txt中。如果是,如何删除该选项\r\n