You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Unix及Shell脚本中打印方块类字符(如▒)

在Unix系统中打印方块类字符及Shell脚本生成▒的方法

一、打印方块类字符的通用方式

方块类字符(如▒、░、▓)属于Unicode方块元素范畴,在支持UTF-8的Unix终端中可直接输出:

  • 直接用echo输出:echo "▒"
  • 用printf通过Unicode编码输出:printf "\u2592\n"(▒的Unicode编码为U+2592)
  • 注意:确保终端使用UTF-8编码,可通过locale命令查看编码设置,若需临时切换,执行export LC_CTYPE=en_US.UTF-8

二、Shell脚本生成▒并实现图案效果

以下是几种生成▒图案的脚本示例,可按需调整行列数或样式:

示例1:生成固定行列的▒块

#!/bin/bash
# 定义行数和列数
rows=5
cols=10

# 循环生成每行的▒
for ((i=0; i<rows; i++)); do
    # 生成指定长度的空格后替换为▒
    printf "%${cols}s\n" | tr ' ' '▒'
done

示例2:逐字符控制输出

#!/bin/bash
total_chars=50
cols_per_line=10

for ((i=0; i<total_chars; i++)); do
    printf "▒"
    # 每到指定列数换行
    if (( (i+1) % cols_per_line == 0 )); then
        printf "\n"
    fi
done

示例3:用yes快速生成

借助yes命令重复输出▒,再用head和cut控制行数和列数:
yes "▒" | head -n 5 | sed 's/./▒/g' | cut -c1-10

如果需要实现更复杂的图案(比如混合不同密度的方块),可在脚本中加入条件判断,输出不同的Unicode方块字符(如░ U+2591、▓ U+2593)。

内容的提问来源于stack exchange,提问作者charmander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:24:58