Add words in beginning , end after removing a word in a file

My file has the entries like below...

/dev/sds
/dev/sdak
/dev/sdbc
/dev/sdbu

I want to make the file like below

echo 1 > /sys/block/sds/device/rescan 
echo 1 > /sys/block/sdak/device/rescan 
echo 1 > /sys/block/sdbc/device/rescan 
echo 1 > /sys/block/sdbu/device/rescan

Try something like:

sed 's/^/echo 1 > /' file
sed -r 's#^/dev(.*)$#echo 1 > /sys/block\1/device/rescan#' infile > outfile

:smiley:

1 Like