使用shell找出两个文件中相同的内容,并且按行排列
时间: 2023-03-30 18:00:35 浏览: 81
可以使用以下命令来找出两个文件中相同的内容,并按行排列:
```
comm -12 <(sort file1.txt) <(sort file2.txt)
```
其中,`comm` 命令可以比较两个已排序的文件,并输出它们的交集、差集等内容。`-12` 参数表示只输出交集部分,`<()` 表示将命令的输出作为文件输入。`sort` 命令可以对文件进行排序,确保两个文件都是已排序的。
相关问题
使用shell找出两个文件中相同的内容
可以使用以下命令来找出两个文件中相同的内容:
```
comm -12 <(sort file1) <(sort file2)
```
其中,`file1`和`file2`是要比较的两个文件名。这个命令会将两个文件都按行排序,并找出它们的交集,也就是相同的内容。最后输出的就是这些相同的内容。
使用shell请从文件中找出字符串长度最长的一行
可以使用awk来实现这个功能:
```shell
awk '{ if (length($0) > max_length) { max_length = length($0); max_line = $0 } } END { print max_line }' file.txt
```
其中,`length($0)`表示当前行的长度,`max_length`表示目前找到的最长行的长度,`max_line`表示目前找到的最长行。在每一行中,如果当前行的长度大于`max_length`,则更新`max_length`和`max_line`。最后输出`max_line`即可。