当前位置: 首页 > 知识库问答 >
问题:

在shell中printf只显示第一个单词[重复]

唐兴贤
2023-03-14

我正在制作一个程序shell(#!/bin/sh),问题是printf只显示字符串param的第一个字。

这是为您简化的代码摘录:

#!/bin/sh

test="Good morning"
printf "\n"
printf $test
printf "\n"

此代码仅输出良好

共有2个答案

马臻
2023-03-14

对的只有第一个参数是格式字符串,其他参数是要格式化的附加参数。就像C。

printf '\n'
printf '%s' "$test"
printf '\n'
闽阳州
2023-03-14

双引号您的变量,以避免获得字拆分由shell

printf "$test"

此外,与C类似的printf的一般语法是

printf <FORMAT> <ARGUMENTS...>

文本格式在

您看到的问题是因为bash中的一个不带引号的变量调用了单词拆分。这意味着该变量被拆分为空白(或特殊变量$IFS设置为的任何内容),每个结果字都被用作一个glob(它将展开以匹配任何匹配的文件名)。你的问题是因为分裂的部分。

 类似资料:
  • 我有一个文本“你好单词”“单词你好”,我如何获得“你好单词”“单词你好”(例如) ''' let string1="Hello Word"让引用String1="Hello Word" let string2="Word Hello"让引用String2="word Hello" '''

  • 问题内容: 我必须强调一个单词中所有出现的单词JEditorPane。为此,我使用以下代码: 但是,如何给出单词索引的位置呢? 我正在从文件中读取内容,但是它也在读取HTML标签,并且正在干扰单词索引。 问题答案: 基本上,您应该能够遍历文档以寻找所需的匹配项 … 这将遍历整个文档并突出显示所有匹配项。这也是区分大小写的匹配;)

  • 问题内容: 我基本上需要突出显示文本块中的特定单词。例如,假装我想在文本中突出显示“ dolor”一词: 我如何将以上内容转换为如下形式: jQuery有可能吗? 编辑 :正如塞巴斯蒂安指出的那样,如果没有jQuery,这是完全有可能的但我希望可以有一种特殊的jQuery方法,该方法可以让您对文本本身进行选择。我已经在该站点上大量使用了jQuery,因此将所有内容都包裹在jQuery中可能会使事情

  • 在我的数据框架中,有一列名为“teams”。它包括城市和球队名称。我想把这个城市拉进另一个纵队。这是数据帧:数据帧示例 我可以使用正则表达式轻松提取列: 然而,在“名称”栏中,对于纽约尼克斯队,它只给了我“New”的值,我想得到“New York”: 结果 那么,我该怎么做呢?如果单元格有2个单词,我该如何从开头只提取一个单词?如果单元格有3个单词,我该如何使用正则表达式从中提取2个单词?

  • 问题内容: 我已经使用n- gram标记器在elasticsearch中提出了自动建议。现在,我想在自动建议列表中突出显示用户输入的字符序列。为此,我使用了elasticsearch中可用的荧光笔,我的代码如下所示,但是在输出中,完整的术语被突出显示了我要去哪里了。 结果是 映射 设定 如何突出显示软件而不是软件开发。 问题答案: 在这种情况下,应使用ngram标记器而不是ngram过滤器突出显示

  • 我有一个RecycerView,它将在设备中安装apk,并与cardview排序,因为标题说我想只在第一个cardview项上显示特定的文本(RecycerView viewholder)