inputFile
を受け取り、小文字に変換し、並べ替えて、結果を元のファイルに保存するスクリプトを作成しようとしています。私はbashにかなり慣れていないので、これが私がこれまでに思いついた解決策です:
awk '{ print tolower($0) }' $inputFile
index=0
for i in `cat $inputFile`
do
tables[${index}]=$i
index=$(($index + 1))
done
IFS=$'\n' tables=($(sort <<<"${tables[*]}"))
rm -r $inputFile
printf "%s\n" "${tables[@]}" >> $inputFile
この並べ替えの側面はかなりうまく機能しますがawk
、元の の結果を保存できないinputFile
ため、並べ替えられたテーブルにはまだ大文字が含まれています。awk
の出力をにリダイレクトしようとしました> inputFile
が、これもうまくいきませんでした。
サンプルinputFile
:
TABLE.thisisaTABLE
taBLe.hellO
HELLO.table
hi.table
望ましい出力 (元に戻すinputFile
):
hello.table
hi.table
table.hello
table.thisisatable