我试图让用户输入一个值来查看文件中的特定列。有没有办法用 awk 打开列,而不必在所有切换情况下重复自己?
# Code:
read -p 'Enter a column:' input
for i in "$file_name"; do
cat "$i" | awk -v column="$input" '{ print $column }'
done
这是一个更好的解释:
view_column() {
for i in "$file_name"; do
cat "$i" | awk -v col="$1" '{ print $col }'
done
}
print_menu() {
menu=( 'First' 'Last' 'Email' 'Exit' )
for (( i=0; i<${#menu[@]}; i++ )); do
printf "%2d. %s\n" "$((i+1))" "${menu[$i]}"
done
}
main() {
while true; do
clear
print_menu
read -p 'Enter a choice: ' choice
if (( "$choice" == 4 )); then
break
fi
view_column "$choice"
sleep 1.5
done
}