bashのechoコマンドについて教えて下さい
bashのechoコマンドについて2点ほど教えていただきたく考えております。
- ファイルの1行をechoした時にスペースをそのまま表示するにはどうしたらいいか
- echoした文字列が画面からはみ出るとき自動的に折り返すようになりますが、これを抑止するにはどうするのか。
1つ目は例えば
aaa bbbbb
のような文字列を空白を残したまま表示したいです。しかしechoで表示すると空白が消えてしまいます。
以上2点について教えて下さい。
追記
#!/bin/bash
SPACE=90
FILE_NAME="hoge.txt"
COLS=`tput cols`
CURRENT_IFS=$IFS
IFS=''
while [ $SPACE -gt 0 ];
do
while read LINE
do
j=0
while [ $j -lt $SPACE ];
do
echo -n " "
j=$(( j + 1))
done
printf "%s\n" "$LINE"
done < $FILE_NAME
SPACE=$(( SPACE - 1 ))
sleep 0.5
clear
done
IFS=$CURRENT_IFS
最終的なコード
#!/bin/bash
SPACE=100
FILE_NAME="thank_you.txt"
COLS=`tput cols`
while [ $SPACE -gt 0 ];
do
while IFS='' read LINE
do
j=0
while [ $j -lt $SPACE ];
do
echo -n " "
j=$(( j + 1))
done
MARGIN=$(( COLS - SPACE ))
echo "$LINE" | cut -b1-$MARGIN
done < $FILE_NAME
SPACE=$(( SPACE - 1 ))
sleep 0.05
if [ $SPACE -gt 0 ]; then
clear
fi
done