sed 's/^[^\t]\t//' ${filename} > ${filename}.new
解析命令
1. `sed 's/^[^\t]\t//'`:
- `s` 表示替换操作。
- `^[^\t]\t` 是一个正则表达式:
- `^` 表示匹配行的开始。
- `[^\t]` 表示匹配零个或多个非制表符字符。
- `\t` 表示匹配一个制表符。
- 所以,`^[^\t]\t` 匹配的是行开头到第一个制表符之间的所有字符,并将其替换为空字符串,即删除它们。
2. `${filename}`: 这是输入文件的名称。
3. `> ${filename}.new`: 将处理后的结果输出到 `${filename}.new` 文件中。
例子
假设 `filename` 是 `example.txt`,且 `example.txt` 内容如下:
```
123\tabc
456\tdef
```
执行命令后,`example.txt.new` 的内容将是:
```
abc
def
```
这样,你删除了每行的第一个制表符之前的所有内容。