#!/bin/bash
if [ $# -ne 2 ];
then
echo "Usage: $0 filename string_length"
exit -1
fi
filename=$1;
basepattern='/^\(.\)'
count=$(( $2 / 2 ))
for ((i=1; i<$count; i++))
do
basepattern=$basepattern'\(.\)';
done
if [ $(( $2 % 2 )) -ne 0 ];
then
basepattern=$basepattern'.';
fi
for ((count; count>0; count--))
do
basepattern=$basepattern'\'"$count";
done
basepattern=$basepattern'$/p'
sed -n "$basepattern" $filename
# ./palindrome.sh /usr/share/dict/british-english 4
boob
deed
kook
noon
peep
poop
sees
toot
# ./palindrome.sh /usr/share/dict/british-english 5
civic
kayak
level
ma'am
madam
minim
radar
refer
rotor
sagas
seres
sexes
shahs
solos
stats
tenet
# ./palindrome.sh /usr/share/dict/british-english 6
redder
#!/bin/bash
while read word
do
if [[ "$word" == "$(echo $word | rev)" ]];
then
echo "$word is Palindrome"
fi
done < /usr/share/dict/british-english
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) | Powered by Discuz! X3.2 |