我正在尝试编写一个脚本,该脚本将接受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