(экспорт LC _ALL=C; xxd -вернуть -обычный <<< 1234abcd | оборот | tr -d '\n' | xxd -обычный | tr -d '\n' )не работает, почему?

Версия POSIX sh:

for n in 1 2 3; do
  src="$n"0
  interface="eth$n"
  for dest in 10 20 30; do
    [ "$dest" = "$src" ] && continue
    printf 'iptables -I FORWARD -i %s -src %s -dst %s -j DROP\n' "$interface" "192.168.$src.0/24" "192.168.$dest.0/24"
  done
done

Я сделал несколько предположений о том, как вы связываете интерфейс с исходным кодом для ваших правил. Но это дает желаемый результат, который вы показали.

0
17.07.2020, 02:12
2 ответа
echo 1234abcd | grep -o.. | tac | paste -sd '' -

cdab3412
0
18.03.2021, 23:19

Использование revиsed:

$ rev <<< 1234abcd | sed -E 's/(.)(.)/\2\1/g'
cdab3412

Сawk:

$ awk -F '' '{ for(i=NF-1;i>0;i-=2) printf "%s", $i $(i+1) } END{ print "" }' <<< 1234abcd
cdab3412
0
18.03.2021, 23:19

Теги

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