Как я сортирую шины сигнала с битами в порядке возрастания?

Метод 1:

Oneliner:

s="hello"
for ((i=0;i<${#s};i++)); do result[$i]="${s:i:1}"; done
echo ${result[@]}

Расширенный код:

s="hello"                   # Original string.

for ((i=0;i<${#s};i++)); do # For i=0; i<(length of s); i++
    result[$i]="${s:i:1}"       # result[i] is equal to the i th character of $s
done                        # End of the loop

echo ${result[@]} # Print all elements of $result.

Метод 2:

Oneliner:

s="hello"
var=($(while read -n 1; do printf "$REPLY "; done <<< "$s"))
echo "${var[@]}"

Расширенный код:

s="hello" # Original string.

while read -n 1; do # Read chraracter by character the string.
    space_separated=$(printf "$space_separated $REPLY") # $space_separated is equal to it plus the current character.
done <<< "$s" # Pass the string to the loop

result=($space_separated) # Split $space_separated into an array.

echo "${result[@]}" # Print all elements of $result.

Благодаря @Cuonglm Отказ
Эффективно, вы можете использовать $ Ответить , который является изменением по умолчанию, где прочитает .

-1
27.06.2014, 22:09
1 ответ

Попробуйте следующее:

$ sort -t'[' -nk2 file1
cls_16_snap[2]
cls_16_snap[3]
cls_16_snap[20]
cls_16_snap[21]
cls_16_snap[22]
cls_16_snap[23]
cls_16_snap[24]
cls_16_snap[25]
cls_16_snap[26]
cls_16_snap[27]
cls_16_snap[28]
cls_16_snap[29]
cls_16_snap[30]

-n option tell sort для сравнения числовых, а не строковых.

2
28.01.2020, 05:09

Теги

Похожие вопросы