-
bash中特殊字符打印(制表符)5
执行下面的代码$ a=aa $ b=bb $ echo -e $a"\t"$b aa bb $ c=`echo -e $a"\t"$b` $ echo $c aa bb
第一次echo的时候,可以看到aa和bb之间有很大的空白,说明制表符打印成功
为什么第二种方式echo,tab就不见了
我现在的想要做的是,把a和b变量用tab拼接起来
问题补充:上面的问题已经解决了,使用引号,像这样:echo "$c"就能把tab打印出来了
2013年9月12日 11:19
2个答案 按时间排序 按投票排序
-
采纳的答案
bash -x -c 'c=`echo -e a"\t"b`; echo $c'
输出:++ echo -e 'a\tb' + c='a b' + echo a b a b
- c的内容是正确的,包含了\t
- echo $c,$c会被变量值替换,而\t会被命令行忽略,就变成了:echo a b
- "$c",也会被替换,但是注意是在双引号内部替换,所以是“a b”
bash -x -c 'c=`echo -e a"\t"b`; echo "$c"' ++ echo -e 'a\tb' + c='a b' + echo 'a b' a b
另外一个例子:bash -x -c 'array=("a\t1" b c);echo -e "${array[@]}"' + array=("a\t1" b c) + echo -e 'a\t1' b c a 1 b c
2013年9月12日 23:49
-
是以下的区别
echo -e $a"\t"$b
echo $a" "$b
对c赋值的时候,c已经转为aa bb的形式了,再echo出来就是aa bb了。
如果要保持tab打印,应该将c赋值为aa\tbb,然后echo -e转换出来就是了。2013年9月12日 12:59
相关推荐
在处理包含特殊字符如制表符(tab)和换行符(newline)的数据时,`grep`同样能胜任。本文将详细介绍如何使用`grep`来匹配这些特殊字符。 一、匹配换行符 在Linux中,换行符通常用`\n`表示。当你需要在文件中查找...
- 字段分隔符,默认情况下为空格、制表符和换行符。这个变量决定了如何分割字符串中的单词。 - **$LANG: 默认语言环境** - 默认的语言环境设置,可以被其他`LC_*`变量覆盖。 - **$LC_ALL: 当前语言环境** - 覆盖`...
3. **反斜线**:`\` 作为转义字符,用于取消特殊字符的特殊含义,如 `\n` 表示换行,`\t` 表示制表符。 4. **输入与输出重定向**: - **输入重定向**:`用于将命令的输入源改为指定文件,例如 `wc 读取文件 `...
例如,空格、制表符和引号都可能改变字符串的解析方式。正确使用转义字符`\`和双引号可以帮助避免意外的分隔。 文件操作也是Bash脚本中常见的功能,但错误的文件路径、权限问题或不正确的重定向可能导致脚本失败。...
本文主要讨论在使用grep命令进行搜索时,如何正确处理和匹配tab(制表符)字符,这是因为在Linux环境下,tab字符在文件中经常被用作字段分隔符。 首先,要在grep命令中查找包含制表符的字符串,我们需要了解在正则...
ANSI-C引用提供了更多控制能力,允许引用转义序列,如“\t”代表制表符,“\n”代表换行符等。 条件构造允许根据特定条件执行不同的代码路径,常见的条件构造包括if语句、case语句等。循环构造则允许重复执行一系列...
Bash首先将输入的命令行拆分为一系列记号,这些记号是由特定的元字符分隔开的,包括空格、制表符、换行符、分号、圆括号、尖括号、竖线(|)和与符号(&)。这些记号可以是单词、关键字、I/O重定向符号或分号。 ###...
- 可以使用`FS`变量来定义字段分隔符,默认为空格或制表符。 **6.4 总结** - 学习AWK的基础知识和使用技巧。 - 掌握使用AWK处理结构化数据的能力。 以上内容覆盖了《Bash新手指南》的核心知识点,通过学习这些...
- **Word Splitting**: 默认情况下,Shell会在空格、制表符、新行处分割单词。 - **Filename Expansion**: 用于扩展文件名模式。 - **示例**: `ls *.txt` 综上所述,Bash提供了一套强大且灵活的工具集,使得用户...
使用tr命令还可以将特定的不可打印字符或特殊字符替换为其他字符。例如,将制表符替换为空格: ```bash cat file | tr "\011" "\040" > new_file ``` 或者将路径变量中的冒号":"替换成换行符"\n",使得路径变量显示...
- **单词分割**:默认情况下,shell会根据空格、制表符和换行符对单词进行分割。 - **文件名扩展**:允许使用通配符来匹配文件名。 - **模式匹配**:使用通配符和正则表达式来匹配文件名。 - **引用去除**:允许删除...
- **单词分割**:Shell默认会将空格、制表符和换行符视为单词分隔符。 - **文件名扩展**:通过模式匹配来扩展文件名。 综上所述,Bash不仅是一个强大的命令行界面工具,还提供了丰富的脚本编程能力。从基本的命令...
- **转义字符**:如`\n`(换行)、`\t`(制表符)等,用于改变输出格式。 #### 四、变量与参数 ##### 4.1 变量替换 - **基本语法**:`${variable}`或`$variable`。 - **示例**: ```bash name="Alice" echo ...
- **Word Splitting(单词分割)**:在未被引号保护的情况下,空格和制表符会将单词分为多个部分。 - **Filename Expansion(文件名扩展)**:如通配符`*`用于匹配多个文件名。 综上所述,BASH作为一种高度可配置和...
- Bash首先会识别输入的命令行,并根据分割符(包括空格、换行符、制表符、分号`;`、圆括号`(`和`)`、尖括号`和`>`、管道符号`|`以及与符号`&`)将其拆分成独立的记号(token)。 2. **检查第一个记号**: - 接...
Linux 中 printf 命令使用实例 ...在上面的实例中,我们使用了 printf 命令来实现复杂的格式控制,包括转换符、转义字符、水平制表符等。这些功能使得 printf 命令非常强大和灵活,可以满足各种复杂的输出需求。
- **IFS**:内部字段分隔符,默认为空格、制表符和换行符。 - **MAIL**:用户邮件的存放位置。 - **PS1**、**PS2**:提示符,分别表示一级和二级提示符。 #### 特殊变量 - **$0**:当前shell脚本的名称。 - **$#**...
当用户键入一部分命令或文件名后,按下制表符键,Bash会自动填充完整命令或文件名。这在输入长命令或路径时非常有用。 2. **工作目录栈:** - **工作目录栈的概念**:Bash提供了一个工作目录栈,用于在多个目录间...
- **变量设定规则**:在Bash Shell中,变量名通常由字母或下划线组成,并且不能包含空格或其他特殊字符。 - **`unset`**: 命令用于删除已定义的变量。 #### 2.2 变数的用途? 变量在shell脚本中极其重要,它们可以...