Re: confronto stringhe
On Wed, Jun 02, 2021 at 12:28:21PM +0200, Filippo Dal Bosco - wrote:
> Ho uno script
> ----------------------------------------
>
> #!/bin/bash
>
> FD=$(fdisk -l | egrep /dev/sda7)
> EC="/dev/sda7 934914048 1000214527 65300480 31,1G Linux swap"
>
> echo "---Le due stringhe---"
> echo "---stringa da fdisk -l ----"
> echo $FD
> echo "--- stringa come deve essere per /dev/sda7 ---"
> echo $EC
> echo ----------------------
>
> #
> if [ "$FD" = "$EC" ]; then
> ....
> ...
> else
> ....
> ...
> fi
> ---------------------------------------
> che non funziona.
cat prova.sh
#!/usr/bin/env bash
fd=$(/sbin/fdisk -l | grep sda7)
ec="/dev/sda7 197736448 206133247 8396800 4G Linux swap"
echo "---Le due stringhe---"
echo "---stringa da fdisk -l ----"
echo "$fd"
echo "--- stringa come deve essere per /dev/sda7 ---"
echo "$ec"
echo ----------------------
if [ "$fd" = "$ec" ]; then
echo 'so uguali'
else
echo 'so diverse'
fi
./prova.sh
---Le due stringhe---
---stringa da fdisk -l ----
/dev/sda7 197736448 206133247 8396800 4G Linux swap
--- stringa come deve essere per /dev/sda7 ---
/dev/sda7 197736448 206133247 8396800 4G Linux swap
----------------------
so uguali
Liberati dal male, dal pudore, non usare puntini di sospensione e
altre forme di auto censura. Invia lo scritto per intero.
> Quando parte mi fa vedere le due stringhe come uguali ma poi esegue
> "else"
>
> Suppongo che sia dovuto al fatto che fdisk ( o egrep) produce una
> stringa con caratteri non visibili . Esiste un "trim" per eliminarli
> e far diventare la stringa $FD di fdisk uguale a $EC ?
Partendo dal fatto che a me funziona sarei tentato di escludere questo
scenario, anche se passare per fdisk lo trovo un approccio poco
elegante.
È un esercizio?
> grazie
>
>
> --
> Filippo
--
Felipe Salvador
Reply to: