shell命令在.data结尾的文件中查找到某一列包含固定的字符串之后重写入另一个文件
时间: 2024-03-05 10:54:08 浏览: 29
可以使用以下的命令来实现你的需求:
```
grep '固定的字符串' input.data | cut -f列号 | awk '{print $0}' > output.data
```
其中,`固定的字符串`是你要查找的字符串,`input.data`是你要查找的文件名,`列号`是你要查找的列号,`output.data`是你要写入的文件名。
具体地,`grep`命令会在`input.data`文件中查找包含`固定的字符串`的行,并把这些行输出到标准输出。`cut`命令会从这些输出的行中提取出指定的列,并输出到标准输出。最后,`awk`命令会把这些输出的行写入`output.data`文件中。
注意,这里的列号是从1开始计数的。另外,如果你需要查找的字符串包含空格等特殊字符,需要使用引号或转义字符来处理。
相关问题
shell命令查找到某一列包含固定的字符串之后重写入另一个文件
可以使用 `awk` 命令来实现这个需求。
假设原始文件名为 `input.txt`,新文件名为 `output.txt`,要查找的列为第二列,固定的字符串为 `search_string`,则可以使用如下命令:
```
awk '$2 ~ /search_string/ {print > "output.txt"}' input.txt
```
解释一下:
- `awk` 命令用于处理文本文件,并且可以按照列来操作,非常适合这个需求。
- `$2` 表示第二列。
- `~` 表示匹配,`/search_string/` 表示要匹配的字符串。
- `{print > "output.txt"}` 表示如果第二列包含 `search_string`,则将整行输出到 `output.txt` 文件中。
注意,如果 `output.txt` 文件已经存在,上述命令会将新的匹配结果追加到文件末尾。如果需要每次覆盖原来的文件,可以在命令前加上 `rm output.txt`,即删除原来的文件。
shell命令查找某一列包含的固定的字符串
您可以使用 `grep` 命令来查找某一列包含固定字符串的行。假设您要查找名为 `file.txt` 的文件中第二列包含字符串 `hello` 的行,可以使用以下命令:
```
awk '{print $2}' file.txt | grep 'hello'
```
该命令首先使用 `awk` 命令提取文件中的第二列,然后使用 `grep` 命令查找包含字符串 `hello` 的行。