shell输出表格样式
时间: 2023-04-23 11:02:51 浏览: 877
可以使用以下方法输出表格样式:
1. 使用echo命令输出表格的每一行,每个单元格之间用制表符分隔。
例如:
```
echo -e "姓名\t年龄\t性别"
echo -e "张三\t20\t男"
echo -e "李四\t22\t女"
```
2. 使用printf命令输出表格的每一行,使用格式化字符串指定每个单元格的宽度和对齐方式。
例如:
```
printf "%-10s %-10s %-10s\n" "姓名" "年龄" "性别"
printf "%-10s %-10s %-10s\n" "张三" "20" "男"
printf "%-10s %-10s %-10s\n" "李四" "22" "女"
```
以上两种方法都可以输出类似下面的表格样式:
```
姓名 年龄 性别
张三 20 男
李四 22 女
```
相关问题
用shell脚本实现,读取txt内容输出为带边框的表格样式,表格中含三列内容
好的,可以为您提供一个shell脚本,实现读取txt内容并输出为带边框的表格样式,表格中含三列内容。以下是脚本代码:
```shell
#!/bin/bash
# 读取txt文件
input_file='input.txt'
# 表格分隔线,便于设置表格宽度
delimiter='+---------------+---------------+---------------+'
# 打印表头
echo $delimiter
echo "| Column 1 | Column 2 | Column 3 |"
echo $delimiter
# 读取每一行信息
while read line; do
# 解析每一列信息
col1=$(echo $line | awk '{print $1}')
col2=$(echo $line | awk '{print $2}')
col3=$(echo $line | awk '{print $3}')
# 打印每一行信息
echo "| $col1 | $col2 | $col3 |"
echo $delimiter
done < $input_file
```
请将上述代码复制到您的shell脚本文件中,并将`input.txt`替换为您所需读取的txt文件名。同时,您也可以修改表格的列数、列宽等参数,以满足您的具体需求。
用shell脚本实现,读取txt内容输出为带边框的表格样式,表格中含三列内容,并固定每列宽度
很高兴为您解答问题。以下是一个简单的Shell脚本,可用于读取txt文件并输出带有边框的三列表格:
```bash
#!/bin/bash
# 设置每个列的宽度
column1_width=10
column2_width=20
column3_width=30
# 打印表格顶部边框
printf "+-%${column1_width}s-+%-${column2_width}s-+%-${column3_width}s-+\n" "" "" "" | tr ' ' '-'
# 打印表头
printf "| %-${column1_width}s | %-${column2_width}s | %-${column3_width}s |\n" "Column 1" "Column 2" "Column 3"
# 打印表格头部和尾部之间的内容
while read -r line; do
column1=$(echo "$line" | awk '{ print $1 }')
column2=$(echo "$line" | awk '{ print $2 }')
column3=$(echo "$line" | awk '{ print $3 }')
printf "| %-${column1_width}s | %-${column2_width}s | %-${column3_width}s |\n" "$column1" "$column2" "$column3"
done < your_file.txt
# 打印表格底部边框
printf "+-%${column1_width}s-+%-${column2_width}s-+%-${column3_width}s-+\n" "" "" "" | tr ' ' '-'
```
此脚本将会读入名为 `your_file.txt` 的文件,并在屏幕上输出一个带有边框的三列表格。您可以更改列的宽度和表格的标题和内容来满足您的要求。
希望这能帮到您!
阅读全文