在bash中重复打印一个字符[重复]

2024-02-07

有没有办法在 bash 中重复打印相同的字符,就像您可以使用此构造在 python 中执行此操作一样:

print('%' * 3)

gives

%%%

实际上有一个单行代码可以做到这一点:

    printf "%0.s-" {1..10}

prints

    ----------

这是传递给的参数的细分printf:

  • %s - 指定任意长度的字符串
  • %0s - 这指定了一个零长度的字符串,但如果参数更长,它将打印整个内容
  • %0.s - 这与上面相同,但句点说明printf如果字符串长于指定长度(为零),则截断该字符串
  • {1..10} - 这是一个大括号扩展,实际上传递参数“1 2 3 4 5 6 7 8 9 10”
  • “-” - 这是提供给的额外字符printf,它可以是任何东西(对于“%”,您必须先用另一个“%”对其进行转义,即“%%”)
  • 最后,默认行为printf如果您给它的参数多于格式字符串中指定的参数,则循环回到格式字符串的开头并再次运行它。

这里发生的事情的最终结果是你告诉printf如果提供的字符串长度大于零,您希望它打印一个没有额外字符的零长度字符串。然后在此零长度字符串之后打印一个“-”(或任何其他字符集)。然后,您为其提供 10 个参数,因此它会打印 10 个零长度字符串,每个字符串后跟一个“-”。

这是一款可以打印任意数量的重复字符的单行文本!

Edit:

巧合的是,如果你想打印$variable您只需稍微更改参数即可使用的字符seq而不是如下的大括号扩展:

    printf '%0.s-' $(seq 1 $variable)

这会将参数“1 2 3 4 ... $variable”传递给printf,打印精准$variable“-”的实例

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在bash中重复打印一个字符[重复] 的相关文章

  • 如何将命令输出作为多个参数传递给另一个命令

    我想将命令的每个输出作为多个参数传递给第二个命令 例如 grep pattern input returns file1 file2 file3 我想复制这些输出 例如 cp file1 file1 bac cp file2 file2 b
  • 通过 Node.js 运行 bash 脚本 - 非法选项 -o pipelinefail

    我正在尝试使用 Node js 执行 bash 脚本child process exec 然而它在文件的第二行爆炸 usr bin env bash set eo pipefail TRACE set x echo we are here
  • 通过 ssh 运行 Bash 脚本

    我正在尝试编写一个 Bash 脚本 它将通过 SSH 连接到计算机并创建一个目录 长期目标有点复杂 但现在我从简单的开始 然而 虽然很简单 但我似乎不太明白 这是我的代码 bin bash ssh T email protected cdn
  • 如何使用 bash 脚本通过 tar 备份文件系统?

    我想备份我的 ubuntu 文件系统 我写了这个小脚本 这是非常基本的 但这是我第一次尝试 我害怕犯错误 由于需要几个小时才能完成才能看到结果 因此我认为最好向经验丰富的程序员询问我是否做错了什么 我特别感兴趣 gt 会记录输出mv或者它也
  • Shell 执行:时间与 /usr/bin/time

    当 bash zsh 执行以下操作时会发生什么 usr bin time l sleep 1 1 00 real 0 00 user 0 00 sys 516096 maximum resident set size 0 average s
  • “./somescript.sh”和“. ./somescript.sh”有什么区别

    今天我按照一些说明在 Linux 中安装软件 有一个需要首先运行的脚本 它设置一些环境变量 指令告诉我执行 setup sh 但是我执行时犯了一个错误 setup sh 所以环境没有设置 最后我注意到了这一点并继续进行 我想知道这两种调用脚
  • 需要 sudo 密码的 Bash 脚本

    我正在创建一个 Bash 安装程序脚本 它为 OSX 和 Linux 编译并安装一些库 因为我的脚本中的某些命令 make install apt get install port install 等 需要 sudo 所以我需要用户提供密码
  • 在bash中用其他文件过滤一个文件

    我有一个带有数字的文件 例如 cat file 31038467 32048169 33058564 34088662 35093964 31018168 31138061 31208369 31538163 31798862 和其他例如
  • 我们可以在 Bash 脚本中使用 PHP 吗?

    我有一个 bash 脚本abcd sh bin sh for i in seq 8 do ssh w i uptime ps elf grep httpd wc l free m mpstat done pid sleep 1 kill 9
  • 如何并行运行命令列表?

    我有一个包含我要运行的命令行的文件 该文件包含大约 2 000 行 我有 8 个可用核心 是否可以解析文件并启动 8 个进程 然后在其中一个程序完成时从文件中执行另一个进程 我希望这种情况继续下去 直到到达文件末尾 Use GNU并行 ht
  • 为什么 ?(*[[:class:]])foobar 的 Bash 模式匹配速度很慢?

    我有一个文本文件 foobar txt 大约 10KB 不是那么长 然而 以下匹配搜索命令在高性能 Linux 计算机上大约需要 10 秒 bash gt shopt s extglob bash gt cat foobar txt pri
  • 如何编写 bash 函数来包装另一个命令?

    我正在尝试编写一个函数包装器mysql command If my cnf存在于 pwd 中 我想自动附加 defaults file my cnf到命令 这就是我正在尝试的 function mysql if e my cnf then
  • 如何获取 bash 中从 Ping 接收到的数据包的百分比?

    当 ping 主机时 我希望输出仅显示收到的数据包 已发送 5 个 的百分比 我想我需要使用grep不知怎的 但我不知道如何 我是 bash 编程的新手 这是我所在的地方 ping c 5 q host grep grep 中应该包含什么
  • 如何从命令行执行 PHP 代码?

    我想执行单个 PHP 语句 例如if function exists my func echo function exists 直接使用命令行 无需使用单独的 PHP 文件 这怎么可能 如果您要在命令行中执行 PHP 我建议您安装phpsh
  • 如何从源 bash 脚本返回错误

    我对 bash 脚本相当陌生 我有 4 个嵌套的 bash 脚本 并且我无法正确地从第四个脚本传播错误 例如 script1 sh source script2 sh
  • 管道安装时疏水阀是否按预期工作?

    以下是问题演示的最少代码 http pastebin com 5TXDpSh5 http pastebin com 5TXDpSh5 bin bash set e set o pipefail function echoTraps echo
  • 如何迭代 Bash 中变量定义的数字范围?

    当范围由变量给出时 如何在 Bash 中迭代数字范围 我知道我可以做到这一点 在 Bash 中称为 序列表达式 文档 http www gnu org software bash manual bashref html Brace Expa
  • ubuntu 中的 echo -e 选项不起作用

    我的同事使用Ubuntu 我使用openSUSE 我们使用相同的makefile编译相同的源代码 我的环境运行良好 但我的同事不能 总是输出无法识别 e选项 我们检查makefile 只发现echo命令使用 e option Ubuntu的
  • bash 递归xtrace

    有没有办法运行 bash 脚本 X 以便如果 X 调用可执行 bash 脚本 Y 则 Y 以 sh eux 开头 X sh Y sh Y sh bin sh echo OK 可以通过导出子 shell 使用父 shell 中设置的相同 sh
  • 选择多个模式的 awk 代码

    这是我的输入文件 比如modified txt r4544 n479826 2012 08 28 07 12 33 0400 Tue 28 Aug 2012 1 line Changed paths M branches 8 6 0 con

随机推荐

  • 使用curl进行POST而不发送数据

    有没有办法使用curl发送POST请求而不发送任何数据 我们通常会发这样的帖子 curl data C mydata txt http 1 2 3 4 myapi 如果您省略 data你正在做一个 GET 操作 你怎么能省略它并仍然执行 P
  • C# 枚举范围

    获得范围 A Z 的方法是什么 Enumerable Range 1 100 Enumerable Range A Z 编辑 更新以包括达林的更正 在 NET 3 5 SP1 中 这可以工作 Enumerable Range A 26 Ca
  • Kibana Logstash ElasticSearch | Kibana Logstash ElasticSearch无法搜索未索引的字段

    我正在探索 ELK 堆栈并遇到一个问题 我已经生成了日志 将日志转发到logstash 日志采用JSON格式 因此它们被直接推送到ES中 仅在Logstash配置中使用JSON过滤器 连接并启动指向ES的Kibana 日志存储配置 filt
  • 使用 jsp/servlet 清理 URL?

    我计划使用 jsp 和 servlet 制作一个 CMS 谁能告诉我如何使用这种技术实现干净的网址 您可以尝试使用 urlrewritefilter http code google com p urlrewritefilter http
  • ora_rowscn 和 join 不能一起工作

    SELECT Rental Rental ora rowscn as TimeStamp FROM Rental inner join UserBranch on UserBranch fkBranchId Rental fkBranchI
  • JavaFX 对背景的影响

    我在用着this https stackoverflow com questions 22622034 frosted glass effect in javafx 22630754 22630754制作一个带有毛玻璃效果的iOS主题Jav
  • JavaScript 函数后的空格[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何按文件名和编号对文件列表进行排序?

    我在一个目录中有一堆文件 我试图根据它们的类型来获取它们 一旦我拥有它们 我想按文件名对它们进行排序 其中有一个数字 我想以这种方式对它们进行排序 我返回的文件是 file 1 txt file 2 txt file 10 txt file
  • C++ 未打印字符串

    抱歉这个菜鸟问题 我是一名新手程序员 正在从 C 过渡到 C 我可以轻松地编写一个程序 以相同的方式用 C 语言反转字符串 只需进行一些细微的更改 但是用 C 编写此程序 为什么它不打印任何内容 include
  • 如何让 Nock 和 Mocha 协同工作?

    我正在尝试使用 nock 来拦截 模拟我的应用程序中的一些 HTTP 流量以进行测试 我们的应用程序对我们的另一个网站进行身份验证 我需要 nock 来模拟 HTTP 200 带有 JSON 数据 和 HTTP 401 没有数据 来测试用户
  • dotnet core 方法“ValidateOptions”...没有实现

    我正在构建一个 NET Core 解决方案 该解决方案构建得很好 但是当我尝试发布它时 它崩溃并出现以下错误 Method ValidateOptions in type Microsoft CodeAnalysis CSharp CSha
  • Google Play Alpha 测试 - 无可用更新

    我已经有一段时间没有更新我的 Android 应用程序了 现在我想使用 Alpha 测试来运行应用内购买功能的一些测试 问题是 我不知道如何使用 Play 商店在我的设备上安装 Alpha 版本 我做了以下事情 创建APK于Android
  • 更改嵌套在克隆表中的输入/选择字段的名称属性以进行动态表单输入 - Javascript

    我正在设计一个动态输入表单 它本质上充当用户 GUI 用于在 mysql 数据库中创建表 JavaScript var counter 0 function moreFields counter var newFields document
  • 如何在Python中初始化二维数组?

    我已经得到了伪代码 for i 1 to 3 for j 1 to 3 board i j 0 next j next i 我如何在 python 中创建这个 想法是使用 for 循环创建一个 3 x 3 数组 并将所有元素设置为 0 如果
  • GeoPandas 和 OSMnx - 在地图上绘制

    我想在地图上绘制我的 Geopandas df 作为背景 我想要该地区的 道路 地图 喜欢 OSMnx 包 我试图弄清楚如何使用它的输出 shapefile 网络 作为我的情节背景 import osmnx as ox G ox core
  • Response.Redirect 与 Server.Transfer - 重定向作为“建议”

    所以我读了一篇article http www csharpfriends com Articles getArticle aspx articleID 15在 Response Redirect 上 与 Server Transfer 相
  • iOS Facebook 获取用户的电子邮件

    我尝试了 2000 多种方法来获取用户的电子邮件 我无法从 Facebook SDK 的图形 API 获取它 它不包含电子邮件属性 我还尝试手动将电子邮件属性添加到 FB 框架 但没有任何反应 是否可以下载第一个与 iOS 7 兼容的 FB
  • R中如何合并表?

    我想这会有一个简单的答案 但我无法解决 这是一个使用的示例iris数据集 a lt table iris 2 b lt table iris 3 如何将这两个表添加到一起 例如 在新输出表中 变量 3 的值为 27 26 1 变量 3 3
  • 在 Tomcat 中使用 Spring 通过 JMX 公开 Hibernate(缓存)统计信息

    收集 Hibernate Ehcache 统计信息并在基于 Spring 的设置中通过 JMX 公开它们似乎很容易 互联网有很多资源可以帮助您 例如http snippets dzone com posts show 11159 http
  • 在bash中重复打印一个字符[重复]

    这个问题在这里已经有答案了 有没有办法在 bash 中重复打印相同的字符 就像您可以使用此构造在 python 中执行此操作一样 print 3 gives 实际上有一个单行代码可以做到这一点 printf 0 s 1 10 prints