今天看shell教程,看了下特殊字符里面还真不少,顺便练下手
echo ------------------------------------ echo "|a\t|ab\t|abc\t|abcd\t|abcde\t|abcdef\t|" echo -----------------------------------_ echo "|\v|"
输出还不错
------------------------------------ |a |ab |abc |abcd |abcde |abcdef | -----------------------------------_ | |
不过还不理想
算了再改一下
echo ------------------------------------ echo "|\ta\t|\tab\t|\tabc\t|\tabcd\t|\tabcde\t|\tabcdef\t|" echo -----------------------------------_ echo "|\v|"
看下输出内容
------------------------------------ | a | ab | abc | abcd | abcde | abcdef| -----------------------------------_ | |
太难看了,不居左,不居右,也不居中,算了
该回去,
等等,怎么改,一个一个的\t删除吗 ?
对了 vi里吗有个替换功能,好就用它
echo ------------------------------------ echo "|\ta\t|\tab\t|\tabc\t|\tabcd\t|\tabcde\t|\tabcdef\t|" echo -----------------------------------_ echo "|\v|" ~ :,$s/\ta/a/g
恩应该没问题,回车输出
E486:找不到模式:\ta
怎么回事
改一下:
:,$s/“\ta”/a/g
看下输出
E486:找不到模式:“\ta”
还是不对,看来双引号加上就直接默认双引号了,不能加,怎么回事
好吧在改:
:,$s/\\ta/a/g
看下输出:
6次替换,共1行
哈哈 成功了,
貌似很神奇的东西,原来不是网上说的直接替换这些东西,
想这些特殊字符一定要转意再转移之后才能用
比如 要匹配aa 那么:,$s/aa/vv/g这样就没问题,全局替换aa为bb
如果要匹配\t 把么必须:,$s/\\t/tab/g,这样就全局替换制表符为tab字符
恩 记录一下
2013-02-28
我了个去 二月就28天
相关推荐
3. **特殊字符**:Shell中的特殊字符,如`$`, `#`, `&`, `;`, `|`, `>`, `, `{`, `}`, `?`, `*`等,它们在Shell脚本中有着特殊的含义。 4. **条件判断结构与循环结构**:`if`, `case`, `while`, `for`等控制结构...
- `list`:显示制表符和行尾标记。 - `number`:显示行号。 - `report`:报告行操作的数量。 - `terse`:显示简短警告信息。 - `warn`:未保存文件时转到其他文件显示警告。 8. **最后行模式命令**: - `:n1,...
- `set list`:显示特殊字符如制表符和行尾。 - `set number`:显示行号。 - `set report`:显示修改次数。 - `set terse`:减少错误信息的冗余。 - `set nomagic`:关闭魔术模式,使某些字符如`*`和`?`不再具有特殊...
- `set list`:显示制表符和行末符等特殊符号。 - `set number`:显示行号。 - `set report`:显示修改过的行数。 - `set terse`:减少vi的输出信息。 - `set warn`:当文件未保存时退出时显示警告信息。 ####...
- **list**:显示行号和特殊字符标记(如制表符等)。 - **number**:显示行号。 - **report**:显示修改行数报告。 - **terse**:显示简洁的信息。 - **warn**:写入文件前给出警告。 - **nomagic**:禁用特殊字符...
- **包含特殊字符的赋值**:如果变量值中包含空格、制表符或换行符,则需要用双引号括起来。 ```bash myname="zhang san" echo $myname ``` - **变量值作为字符串的一部分**:当变量值位于字符串的开头或中间时...
- `list`:显示制表符和行尾标志。 - `number`:显示行号。 - `report`:显示行命令修改的数目。 - `terse`:显示简短的警告信息。 - `warn`:未保存就切换文件时显示警告。 - `nomagic`:允许在搜索模式中使用不带...
本文将深入解析VI编辑器的使用方法,包括其基本操作、模式切换、搜索与替换功能、行编辑及文件管理等关键知识点。 #### 基本操作与模式 VI编辑器主要有三种模式:命令模式、插入模式和底线命令模式。 - **命令...
- 如 `\n` 表示换行,`\t` 表示制表符。 ##### **4.4 流控制** - **if语句** - 根据条件判断执行不同的代码块。 - 示例:`if [ $var -eq 1 ]; then echo "true"; else echo "false"; fi` - **case语句** - ...
- `list`: 显示特殊字符,如制表符和行尾标志。 - `number`: 显示行号。 - `report`: 显示编辑过程中所作修改的统计信息。 - `terse`: 减少显示的信息量。 - `warn`: 当退出时如果文件未保存则显示警告信息。 #### ...
- `list`:显示制表符和行尾标志。 - `number`:显示行号。 - `report`:显示行操作的数量。 - `terse`:显示简短警告信息。 - `warn`:未保存时离开提示NO write。 - `nomagic`:搜索模式中特殊字符不需前缀...
- **set list**:显示制表符和行尾标志。 - **set number**:显示行号。 - **set report=**:显示修改了多少行。 - **set terse**:减少显示的信息量。 - **set nobackup**:关闭自动备份功能。 - **set warn**:在...
command`**:在vi中执行外部的Shell命令`command`。 - **`n1,n2 w! command`**:将文件中从第`n1`行至第`n2`行的内容作为`command`的输入并执行,如果不指定`n1`和`n2`,则表示将整个文件的内容作为输入。 - **`r!...
- `IFS`: 内部字段分隔符,用于分隔字符串中的字段,默认为空白字符(空格、制表符和换行符)。 - **示例**:`IFS=$'\t\n '` - `PS1`: 命令提示符,用于显示当前的shell提示信息。 - **示例**:`PS1='${debian_...
- `:set list`:显示制表符和行尾标志。 - `:set ts=8`:设置 tab 宽度为 8 个字符。 - `:set ic`:开启忽略大小写的搜索。 - `:set noic`:关闭忽略大小写的搜索。 - `:set showmode`:显示当前模式。 - `:...
- `:set list`:显示特殊字符(如制表符和行尾)。 - `:set number`:显示行号。 - `:set report`:显示每次更改的统计信息。 - `:set terse`:显示更简洁的信息。 - `:set warn`:在没有写入文件时给出警告。 ...
- `:set list`: 显示制表符和空白字符。 - `:set number`: 显示行号。 - `:set report`: 显示更改摘要。 - `:set terse`: 减少vi的消息输出。 - `:set warn`: 当退出时文件未保存时显示警告。 - `:set nomagic`: ...
- `:set list`:显示特殊字符如制表符和空格。 - `:set ruler`:显示状态栏上的光标位置和百分比。 - `:set number`:同`:set nu`,显示行号。 ### 文件操作 - `:w`:保存当前文件。 - `:w filename`:将当前文件...
- :set显示当前设置,:set all显示所有设置,:set nu显示行号,:set nonu不显示行号,:set ts=n设置制表符宽度为n。 ### 执行指令 - 行范围操作,如:10,20d(删除10到20行),:10d(删除10行),:%d(删除全部),:10,20...