Linux'cut'命令行并替换

时间:2015-05-10 15:38:27

标签: linux bash shell unix

我需要使用cut命令创建一些文本,并在Linux终端上用空格替换。

示例:

Linux
 inux
  nux
   ux
    x

这是我的bash脚本。

#!/bin/bash
INPUT=$@
SIZE=$(echo $INPUT|wc -c)
let $((SIZE--))
for i in $(seq 1 $SIZE);
do echo $INPUT | cut -c ${i}-${SIZE} ;
done

我无法创建一些文字,如:

Linux
 inux
  nux
   ux
    x

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题:

#!/bin/bash

INPUT="$@"
SIZE=${#INPUT}

for ((i=0; i < ${SIZE}; i++)); do
    echo "${INPUT}"
    INPUT="${INPUT:0:${i}} ${INPUT:$((i+1)):${SIZE}}"
    #INPUT="$(echo "$INPUT" | sed "s/^\(.\{${i}\}\)./\1 /")"
done

我在评论中添加了sed选项,虽然它在您不需要的时候会创建一个子流程。