使用bash进行行流操作(添加空间bw所需的数字)

使用bash进行行流操作(添加空间bw所需的数字),bash,Bash,有以下几行: 123.100.011 123.100.100 我想添加空格bw。并在每行中生成以下输出 123 100 011 123 100 100 编辑:如果输入中没有,并且希望在数字中添加空格,则根据OP的注释执行以下操作可能会有所帮助 echo "123100011" | awk '{while($0){val=val?val OFS substr($0,1,3):substr($0,1,3);$0=substr($0,4)};print val;val=""}' 为此,请尝试

有以下几行:

123.100.011
123.100.100
我想添加空格bw。并在每行中生成以下输出

123 100 011
123 100 100
编辑:如果输入中没有
,并且希望在数字中添加空格,则根据OP的注释执行以下操作可能会有所帮助

echo "123100011" | awk '{while($0){val=val?val OFS substr($0,1,3):substr($0,1,3);$0=substr($0,4)};print val;val=""}'


为此,请尝试使用
sed
awk

sed 's/\./ /g' Input_file


使用
tr可能更容易

$ tr . ' ' <file

$tr'' 可能是多余的所有bash一行:

while IFS=. read a b c; do echo "$a $b $c";done < file.txt
而IFS=。读a b c;做回显“$a$b$c”;完成
或者是任意的不完整的记录

while IFS=. read -a line; do echo "${line[@]}";done < file.txt
而IFS=。读一行;执行回显“${line[@]}”;完成

所有其他答案在任何大小的文件上都更好,除非您需要按现有的方式处理每一行……在这种情况下,这可能会派上用场。;)

欢迎使用SO,我们始终建议您在帖子中添加您试图解决问题的努力。如果文件中出现多个不同的流配置,如123.100.011 123100100 123-100,情况如何-100@Luisy,对不起,我没有收到,你能详细说明一下这个要求吗?“.”在一些溪流中是否遗漏了?因此,输入文件将具有123.100.011配置,…但也可能具有123100011。我仍然希望为每一条流行每3位数字添加一个“空格”。正在尝试>>tr'^[1-2][0-9][0-9]\{3}$''NewFIle.txt…,但效果不理想。@Luisy,现在也请检查编辑解决方案。
while IFS=. read -a line; do echo "${line[@]}";done < file.txt