我有以下输出:
[matt@gateway output]# cat test2.txt
TM1ITP1-TMNLSTP1 SLC00=0,SLC01=0,SLC02=0,SLC03=0
如果我只是使用
cat test2.txt | tr "," "\n"
我最终会非常接近要达到的目标:
TM1ITP1-TMNLSTP1 SLC00=0
SLC01=0
SLC02=0
SLC03=0
但是在用新行替换逗号之后,如何最终在所有新行中添加术语“ TM1ITP1-TMNLSTP1”?
TM1ITP1-TMNLSTP1 SLC00=0
TM1ITP1-TMNLSTP1 SLC01=0
TM1ITP1-TMNLSTP1 SLC02=0
TM1ITP1-TMNLSTP1 SLC03=0
我仍然需要使用tr还是可以尝试的其他方法?
答案 0 :(得分:1)
我只使用Perl:
cat test2.txt | perl -pe 's/,/\nTM1ITP1-TMNLSTP1/g'
如果TM1ITP1-TMNLSTP1
部分应该是动态的,它将变得更加复杂。假设它始终是您要在其余(逗号分隔)项目中重复的行上非空白字符的第一个非空序列。然后我会去:
perl -pe 's/,/\n$prefix/g if ($prefix) = /(\S+)/'
或者,如果您始终有两列(用空格分隔),而只有第二列包含逗号,则也可以这样:
perl -lane 'print map { "$F[0] $_\n" } split /,/, $F[1]'
(-a
选项自动将字段拆分为@F
数组,因此$F[0]
是前缀,$F[1]
是逗号分隔的列表。)
答案 1 :(得分:0)
awk
来营救!
$ awk '{n=split($2,a,","); for(i=1;i<=n;i++) print $1,a[i]}' file
TM1ITP1-TMNLSTP1 SLC00=0
TM1ITP1-TMNLSTP1 SLC01=0
TM1ITP1-TMNLSTP1 SLC02=0
TM1ITP1-TMNLSTP1 SLC03=0
答案 2 :(得分:0)
sed很简单。
<form>
{% for key, value in result.items() %}
{% for k1,v1 in value.items() %}
<br>
{{v1}}:<br>
<input type="text" name={{k1}} value={{v1}} size = "50" ><br>
{% endfor %}
{% endfor %}
...您曾经在Google上搜索过,不是吗? XD