我是在 bash 中操作文本的新手,非常感谢任何建议!
我在脚本的早期使用了一个变量,其格式如下:
runlist=echo 10,19,25,32
实际数字和列出的数字数量在不同的迭代中有所不同。它们将始终为 2 位数字。我需要这种格式的变量用于第一步。但在脚本的后面,我想将这些数字打印到一个临时文本文件中,像这样单列
cat tmp_runlist.txt
10
19
25
32
我尝试使用 IFS=','
但发现它也修改了 runlist 变量,该变量在脚本末尾再次使用。我一直在探索使用 cut
和 awk
但需要一些可以灵活地捕获逗号之间的字符而不是在回车之前使用逗号的东西。
提前感谢您的想法:)
最佳答案
我会假设,而不是
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'
关于linux - 从逗号分隔变量到列表的 bash 文本操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28819595/