前言:
我有时候要在 .java 文件里面找有没有写某个单词或者 .kt文件有没有写某个单词又或者 .string文件里面有没有某个单词,我能不能通过
dj(指定自己编写的单词) 字符串 文件格式
的方式将单词和文件格式作为参数来查找呢,于是我想到自己去写一个脚本来方便自己执行查找命令。
流程:
一、创建和脚本书写
你可以创建一个名为 dj.sh
的 Bash 脚本,来接受两个参数:
- 要查找的字符串
- 文件格式(如
.java
、.kt
、.xml
)
dj.sh
脚本示例:
#!/bin/bash
#脚本书写人:djc
#本脚本用处:可以直接通过
# dj 字符串名称 文件名
# 的格式去查询某个单词字符在当前目录下是否有引用
#检查是否提供了足够的参数
# $1:第一个参数,表示你要查找的单词
# $2:第二个参数,表示你要查找的文件类型
if [ -z "$1" ] || [ -z "$2" ]; then
echo "Usage:dj <search_string> <file_extension>"
exit 1
fi
#分配参数
SEARCH_STRING=$1
FILE_EXTENSION=$2
#使用 grep 指令来查找指定类型文件中的字符串
grep -rnw --color=always './' -e "$SEARCH_STRING" --include "*.$FILE_EXTENSION"
# -r :递归查找当前目录及子目录
# -n:显示匹配的行号
# -w:确保匹配整个单词
# ./:当前目录
# -e 查找的字符串
# --include: 限制搜索的文件类型
二、脚本设置 Alias
确保你在 ~/.bashrc
文件中正确添加了 alias
,并且该文件已经被重新加载。假设你添加了类似如下的 alias
:
alias dj='~/dj.sh'
执行以下命令以确保 .bashrc
文件生效:
source ~/.bashrc
这样,alias
会立即生效。如果你只修改了 .bashrc
而没有运行 source
,则该 alias
不会在当前会话中生效。
三、脚本权限
确保你的脚本有执行权限。在 ~
目录下运行以下命令:
chmod +x ~/dj.sh
如果脚本没有可执行权限,即使 alias
正确设置,也无法执行。
结果:
经过以上流程,现在你可以在你的主目录或者子目录下去用
dj 需要查找的字符串 文件格式
例如:在目录下所有xml文件里面去寻找出现过good这个单词的地方
dj good xml
#意思就是在目录下所有xml文件里面去寻找出现过good这个单词的地方
来查找你要找的字符串或者代码出现过的地方啦~
如果觉得文章有用的话希望能点个赞和关注哦,后续也会持续更新计算机小tips。