Linux 从逗号分隔变量到列表的bash文本操作

Linux 从逗号分隔变量到列表的bash文本操作,linux,bash,text-manipulation,Linux,Bash,Text Manipulation,我是bash中操纵文本的新手,非常感谢您的建议 我在脚本的早期使用了一个变量,其格式如下: runlist=echo 10,19,25,32 实际数字和列出的数字数量在不同的迭代中有所不同。它们将始终为两位数。我需要这个格式的变量作为它们使用的第一步。但在脚本的后面,我想将这些数字打印到一个临时文本文件中的一列中,如下所示 cat tmp_runlist.txt 10 19 25 32 我尝试使用IFS=',',但发现它还修改了runlist变量,该变量在脚本末尾再次使用。我一直在探索如何使

我是bash中操纵文本的新手,非常感谢您的建议

我在脚本的早期使用了一个变量,其格式如下:

runlist=echo 10,19,25,32
实际数字和列出的数字数量在不同的迭代中有所不同。它们将始终为两位数。我需要这个格式的变量作为它们使用的第一步。但在脚本的后面,我想将这些数字打印到一个临时文本文件中的一列中,如下所示

cat tmp_runlist.txt
10
19
25
32
我尝试使用
IFS=','
,但发现它还修改了runlist变量,该变量在脚本末尾再次使用。我一直在探索如何使用
cut
awk
,但需要一些灵活的方法,只需抓住逗号之间的字符,而不在回车前取逗号


提前感谢您的想法:)

grep-o
可能会有帮助:

s='10,19,25,32'
grep -o '[0-9]\+' <<< "$s"
10
19
25
32
s='10,19,25,32'

grep-o'[0-9]\+'
grep-o
可能有帮助:

s='10,19,25,32'
grep -o '[0-9]\+' <<< "$s"
10
19
25
32
s='10,19,25,32'

grep-o'[0-9]\+'
grep-o
可能有帮助:

s='10,19,25,32'
grep -o '[0-9]\+' <<< "$s"
10
19
25
32
s='10,19,25,32'

grep-o'[0-9]\+'
grep-o
可能有帮助:

s='10,19,25,32'
grep -o '[0-9]\+' <<< "$s"
10
19
25
32
s='10,19,25,32'

grep-o'[0-9]\+'我将假设

runlist=echo 10,19,25,32
你是说

runlist=$(echo 10,19,25,32)
…或者只是

runlist=10,19,25,32
在这种情况下,最简单的方法应该是使用

echo "$runlist" | tr , '\n'
如果真是这样

runlist=echo 10,19,25,32
那你可以用

echo "$runlist" | sed 's/^echo *//;s/,/\n/g'

我将假设这一点,而不是

runlist=echo 10,19,25,32
你是说

runlist=$(echo 10,19,25,32)
…或者只是

runlist=10,19,25,32
在这种情况下,最简单的方法应该是使用

echo "$runlist" | tr , '\n'
如果真是这样

runlist=echo 10,19,25,32
那你可以用

echo "$runlist" | sed 's/^echo *//;s/,/\n/g'

我将假设这一点,而不是

runlist=echo 10,19,25,32
你是说

runlist=$(echo 10,19,25,32)
…或者只是

runlist=10,19,25,32
在这种情况下,最简单的方法应该是使用

echo "$runlist" | tr , '\n'
如果真是这样

runlist=echo 10,19,25,32
那你可以用

echo "$runlist" | sed 's/^echo *//;s/,/\n/g'

我将假设这一点,而不是

runlist=echo 10,19,25,32
你是说

runlist=$(echo 10,19,25,32)
…或者只是

runlist=10,19,25,32
在这种情况下,最简单的方法应该是使用

echo "$runlist" | tr , '\n'
如果真是这样

runlist=echo 10,19,25,32
那你可以用

echo "$runlist" | sed 's/^echo *//;s/,/\n/g'

您的变量是整个
echo…..
命令?您的变量是整个
echo…..
命令?您的变量是整个
echo…..
命令?您的变量是整个
echo…..
命令?