reverse a string on Linux and Windows

How to reverse a string on Linux and Windows

On Linux:


  1. Using the rev command: The rev command is a utility that reverses the lines of a file or the characters in a string. To reverse a string, you can use the echo command to pass the string to rev:



echo "string" | rev



  1. Using the sed command: The sed command is a powerful utility that can perform various text transformations. To reverse a string, you can use the sed command with the -r option and the 's/.*(.)/\1/g' expression:



echo "string" | sed -r 's/.*(.)/\1/g'



  1. Using the awk command: The awk command is a programming language that is used for text processing. To reverse a string, you can use the awk command with the {print} action:




echo "string" | awk '{print $1}'


On Windows:

  1. Using the powershell command: The powershell command is a shell that provides a command-line interface for Windows. To reverse a string, you can use the powershell command with the -C option and the '[System.Text.Encoding]::Unicode.GetString([System.Text.Encoding]::Unicode.GetBytes("string"))' expression:




powershell -C "[System.Text.Encoding]::Unicode.GetString([System.Text.Encoding]::Unicode.GetBytes("string"))"



  1. Using the cmd command: The cmd command is the command-line interpreter for Windows. To reverse a string, you can use the cmd command with the for loop:




cmd /c "for /L %i in (1,1,%len%) do @echo !string:~%len%-%i,1!"


These are some ways to reverse a string on Linux and Windows. There are other ways to achieve this, using different utilities or programming languages.

Advertisement

Via shell script on Linux

reverse a string on Linux and Windows

sh-3.2# vi reverse.sh
#### Start Script #####
#!/bin/bash
input_string="$1"
reverse_string=""

input_string_length=${#input_string}
for (( i=$input_string_length-1; i>=0; i-- ))
do
reverse_string="$reverse_string${input_string:$i:1}"
done

echo "$reverse_string"
##### End Script #####

Let's run it:

sh-3.2# chmod 775 reverse.sh
sh-3.2# ./reverse.sh Etienne
enneitE

Via powershell script on Windows


#Let's use the script reverse.ps1 below.
######
$string="Etienne"
$string_array=$string -split ""
[array]::Reverse($string_array)
$string_array -join ''

#####Output#####
PS C:\Users\etienne_noumen\Documents\Etienne\Scripting> .\reverse.ps1

E t i e n n e

enneitE

Via powershell script on Windows in one line


([regex]::Matches($String,'.','RightToLeft') | ForEach {$_.value}) -join ''

Via batch script on Windows


::Note: ReverseStr also calls StrLen
::and string length is not greater than 80 chars
:: but can be changed.

@echo off
SetLocal EnableDelayedExpansion
cls
set Str=Etienne
call :StrLen %Str%
echo Length=%Len%
call :ReverseStr %Str%
echo String=%Str%
echo Reverse Str=%Reverse%
exit /b

::----------------
:: Calc Var Length
::----------------
:: %*=Str to Check
:: Returns %Len%
:: ---------------
:StrLen %*
set Data=%*
for /L %%a in (0,1,80) do (
set Char=!Data:~%%a,1!
if not "!Char!"=="" (
set /a Len=%%a+1
) else (exit /b)
)
exit /b

::---------------
:: Reverse String
::---------------
:: %* Str to Reverse
:: Returns %Reverse%
::------------------
:ReverseStr %*
set Data=%*
call :StrLen %Data%
for /L %%a in (!Len!,-1,0) do (
set Char=!Data:~%%a,1!
set Reverse=!Reverse!!Char!
)
exit /b

Via perl script on Windows or Linux


Via python script on Windows or Linux


def reverse_string(a_string)
return a_string[::-1]
reverse_string("etienne") returns "enneite"
Source:

  1. http://www.computing.net/answers/programming/reverse-a-string-in-dos/26004.html

Filed under

Related articles

Level up your Tech Career with DjamgaTech PRO

Download the DjamgaTech PRO App on the Apple App Store to access hundreds of interactive prep questions, flashcards, and quizzes cleanly without ads.

Djamgatech PRO App
Download DjamgaTech PRO on the App Store 🚀

← All articles