添加搜索并替换为“cd”命令

时间:2017-10-13 18:22:33

标签: bash perl replace tcsh cd

我正试图找到一种在命令行中搜索和替换的方法。优选地,该解决方案将在tcsh中工作。这就是我想要做的。

$ echo $PWD
/projects/apples/001/0440/my/files/are/here/
$ cd 0999
/projects/apples/001/0999/my/files/are/here/
$ cd oranges
/projects/oranges/001/0999/my/files/are/here/
$ cd were
/projects/oranges/001/0999/my/files/were/here/

脚本将从行尾搜索并找到匹配目录结构的第一个匹配项,然后cd进入该目录。

我精通python,这个脚本很容易用这种语言编写,但python在一个进程中运行,所以更改一个进程的当前目录对其他现有进程的当前工作目录没有影响。

编写此类脚本的最佳方法是什么?完成此任务的最有效方法是什么?我的目录结构可以变得非常庞大,有数千个文件夹,所以它需要很快。

1 个答案:

答案 0 :(得分:0)

example.py成为输出一些shell命令的脚本。

#!/usr/bin/python
# example.py
print("cd foo/bar/baz")

然后,您可以使用反引号或$(...)表示法在当前shell中执行该脚本的输出。

mob ~ $ $(./example.py)
mob ~/foo/bar/baz $ echo $PWD
mob ~/foo/bar/baz $ /home/mob/foo/bar/baz