/e$/ s/^/#/g 1,3 s/#//g
时间: 2023-07-05 11:36:14 浏览: 73
这是一个 shell 脚本中 sed 命令的组合,含义如下:
- /e$/ s/^/#/g:表示将以 e 结尾的行的开头添加 #,并且对每一行中匹配到的所有位置进行替换(g 表示全局匹配)。
- 1,3 s/#//g:表示将第 1 到 3 行中所有的 # 删除(同样使用全局替换)。
例如,如果有一个文本文件 test.txt,内容如下:
```
hello
world
linee
end with e
```
执行以下命令:
```
sed '/e$/ s/^/#/g; 1,3 s/#//g' test.txt
```
输出结果如下:
```
world
line
end with e
```
可以看到,以 e 结尾的行的开头添加了 #,并且所有匹配到的位置都被替换了。第 1 到 3 行中的 # 被删除。
相关问题
bat /s /e /c /y /h /r
引用:xcopy Source [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:file1[ [file2]][ [file3]] [{/y|/-y}] [/z] ...
根据引用中的说明,`/s /e /c /y /h /r`是xcopy命令的选项。其中,`/s`表示复制目录及其子目录中的文件,`/e`表示包含空的目录,`/c`表示继续复制操作即使发生错误,`/y`表示覆盖现有的文件,`/h`表示复制隐藏和系统文件,`/r`表示复制只读文件。这些选项可以用于xcopy命令进行指定操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [windows 编写.bat脚本下实现文件复制](https://blog.csdn.net/xfxfxfxfxf666/article/details/101548895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [bat批处理文件实现复制、删除、创建文件夹、执行程序、打开文件](https://download.csdn.net/download/sinat_24516479/8261081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [bat使用命令解析-详细(转)](https://blog.csdn.net/NPC75/article/details/117337324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
sed -E -i 's@/\*([^*]|(\*+[^*/]))*\*+/@\n@g; s@\n[[:blank:]]*//.*$@@g; /^$/d' file.c 让这个命令支持忽略todo的大小写
要让这个命令支持忽略todo的大小写,可以在每个todo的正则表达式中添加一个忽略大小写的标记。可以通过在正则表达式开头添加 "(?i)" 来实现这个功能。所以,修改后的命令应该是:
```
sed -E -i 's@/\*([^*]|(\*+[^*/]))*\*+/@\n@g; s@\n[[:blank:]]*//.*$@@g; /^$/d; s@(?i)todo@TODO@g' file.c
```
其中的 "s@(?i)todo@TODO@g" 表示将所有大小写形式的 "todo" 替换为 "TODO",并且忽略大小写。