sed根据时间提取文件中内容
时间: 2023-11-06 11:04:09 浏览: 39
可以使用sed的时间范围匹配来提取文件中指定时间段内的内容。例如,假设我们要提取2021年1月1日00:00:00到2021年1月1日23:59:59之间的内容,可以使用以下命令:
```
sed -n '/^2021-01-01 00:00:00/,/^2021-01-01 23:59:59/p' filename
```
其中,-n选项表示不输出模式空间中的内容,/^2021-01-01 00:00:00/表示匹配以2021-01-01 00:00:00开头的行,/^2021-01-01 23:59:59/表示匹配以2021-01-01 23:59:59开头的行,p命令表示输出匹配到的内容。filename为需要提取内容的文件名。
相关问题
如何用一条脚本命令将上面的文件中的内容按执行时间排序
可以使用以下的命令将上述日志文件中的内容按照执行时间从小到大排序:
```
grep "initcall" log.txt | sed -e 's/.*after\([0-9]*\) usecs/\1 &/g' | sort -n | cut -d' ' -f2-
```
这条命令的具体步骤如下:
1. `grep "initcall" log.txt`:从文件 log.txt 中筛选出包含 "initcall" 的行;
2. `sed -e 's/.*after\([0-9]*\) usecs/\1 &/g'`:使用 sed 工具将每一行中的执行时间提取出来,并将其放到行首,这样就可以通过 sort 命令按照执行时间排序;
3. `sort -n`:对提取出来的执行时间进行从小到大排序;
4. `cut -d' ' -f2-`:使用 cut 命令将排序后的结果中的执行时间去掉,只保留每个 initcall 对应的函数名和返回值。
这样,最终输出的结果就是按照执行时间从小到大排序的每个 initcall 对应的函数名和返回值。如果想要将排序结果输出到一个新文件中,可以使用重定向符号 " > ",例如:
```
grep "initcall" log.txt | sed -e 's/.*after\([0-9]*\) usecs/\1 &/g' | sort -n | cut -d' ' -f2- > sorted_log.txt
```
这将会把排序后的结果输出到一个名为 sorted_log.txt 的新文件中。
用一条shell命令,提取出包含 initcal 的行,删除方括号及里面的内容,并按 after 后面的时间大小重新对文本降序排序,最后在行首添加时间和单位
可以使用一条比较长的管道命令来实现:
```bash
grep "initcall" input.txt | sed -e "s/\[.*\]//g" | awk '/after/ {match($0, /after ([0-9]+) ([a-zA-Z]+)/, arr); print arr[1]" "arr[2]" "$0}' | sort -k1rn -k2 | sed -e "s/^[^ ]* [^ ]* //" > output.txt
```
这里使用grep命令提取包含initcall的行,使用sed命令删除方括号及里面的内容,使用awk命令提取出after后面的时间和单位,并在行首添加时间和单位,最后使用sort命令按时间大小降序排序,最后使用sed命令删除添加的时间和单位,并将结果写入output.txt文件中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)