我想在bash脚本中将一个文本文件转换为MySQL类型的正确表格式。
现在,我将输出转储到一个文本文件table.txt中,然后逐行读取以按格式顺序打印。
还想打印文件的位置toatl路径
但我想要一个更好的解决方案。
#!/bin/bash
search_dir="$1"
path=$(ls -l $search_dir)
echo "$path" | awk -v OFS='\t''|''\t' 'BEGIN{print " Owner | Size | Name "}; {print"|" $3, $5, $9 "\t""|"}' > table.txt
while IFS= read -r line; do
echo "$line"
echo "-----------------------------------------------------------------"
done < table.txt

发布于 2019-12-26 21:01:37
尝试将此示例作为模板:
#/bin/bash
header="Perm D Owner Group Size Date Name"
data=$(ls -l|sed 's/total.*//')
whiptail --title "Scrollbox" --scrolltext --msgbox "$header $data" 30 100发布于 2020-10-05 12:46:53
使用printf (根据需要调整格式):
echo "$path" | awk -v 'BEGIN{print " Owner | Size | Name "}; {printf("|%-20s|%-20s|%-20s|\n", $3, $5, $9)}' > table.txt如果您愿意,您也可以对标题使用相同的格式。
https://stackoverflow.com/questions/59484405
复制相似问题