解决拷贝环境后jupyter lab无法使用
因为出现了在将一台ubutnu中的anaconda3虚拟环境直接拷贝到另一台电脑后,jupyter lab无法使用的问题,通过排查发现是环境中一些包文件的头步有绝对路径中间包含了用户名,换到另一台电脑后用户名变了而无法启动
- 可以使用批量替换文件内容来解决这个问题
替换文件夹内所有文件匹配的字符串
sed -i "s/旧内容/新内容/g" `grep 旧内容 -rl 文件夹路径`
例如将/var/www/test文件夹下的所有文件内容中的abc字符串换成123
sed -i "s/abc/123/g" `grep abc -rl /var/www/test`
注:grep内容用的不是单引号',而是`,tab键上面的,请使用绝对路径
替换文件内所有匹配的字符串
sed -i "s/旧内容/新内容/g" 文件路径
例如将/var/www/test/index.html文件夹下的所有文件内容中的abc字符串换成123
sed -i "s/abc/123/g" /var/www/test/index.html
linux批量替换指定文件夹中所有文件的指定内容
sed -i "s#https#http#g" `grep http -rl VEROMODA`
功能:用来替换当前目录VEROMODA文件夹及子文件夹中所有文件中的http ...
Linux sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
语法:
sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数说明:
-e<script>
或--expression=<script>
以选项中指定的script来处理输入的文本文件。
-f<script文件>
或--file=<script文件>
以选项中指定的script文件来处理输入的文本文件。
-h
或--help
显示帮助。
-n
或--quiet
或--silent
仅显示script处理后的结果。
-V
或--version
显示版本信息。动作说明:
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何东东;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!