使用shell 将文本中重复行去除
时间: 2023-05-20 21:02:18 浏览: 306
你可以使用以下命令来去除文本中的重复行:
```
sort file.txt | uniq
```
其中,sort 命令将文件中的所有行按字典序排序,uniq 命令则去除相邻的重复行。如果你想要保留文本中第一次出现的行,可以使用以下命令:
```
sort file.txt | uniq -u
```
其中,uniq 命令的 -u 选项表示只输出不重复的行。
相关问题
使用shell将用户和密码放在文本中。
你可以使用以下命令将用户名和密码存储在文本文件中:
```
echo "username:password" > credentials.txt
```
请将 `username` 和 `password` 替换为你要使用的实际用户名和密码。然后将此文件设置为仅限当前用户可读和可写,以确保安全:
```
chmod 600 credentials.txt
```
这将确保只有当前用户可以读取和编辑此文件。
shell将文本指定行内容的行号输出
可以使用grep命令来输出文本中指定内容所在的行号。grep命令可以用于在文件中搜索指定的文本,并输出包含该文本的行。
例如,要输出文本文件file.txt中包含字符串"hello world"的行号,可以使用以下命令:
```
grep -n 'hello world' file.txt | cut -d: -f1
```
其中,-n选项表示输出包含匹配文本的行号,cut命令用于去掉输出结果中的冒号和匹配文本。执行以上命令后,将输出包含字符串"hello world"的行号。
如果要输出多个匹配文本所在的行号,可以使用grep命令的-r选项,如下所示:
```
grep -rn 'pattern' /path/to/directory | cut -d: -f1
```
其中,-r选项表示递归搜索指定目录下的所有文件,pattern是要搜索的文本,/path/to/directory是要搜索的目录。执行以上命令后,将输出所有包含匹配文本的文件名和行号。
使用grep命令可以方便地在脚本中搜索文本文件,并输出匹配文本所在的行号。