मुझे कुछ पाठ बनाने की आवश्यकता है cut
लिनक्स टर्मिनल पर स्पेस के साथ कमांड और बदलें।
उदाहरण:
Linux
inux
nux
ux
x
यह मेरी बैश स्क्रिप्ट है।
#!/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
उत्तर:
जवाब के लिए 0 № 1यह काम कर जाना चाहिए:
#!/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
टिप्पणी में विकल्प, हालांकि यह एक उप-प्रक्रिया बनाता है जब आप वास्तव में नहीं करते हैं।