我的顶级目录是data. data包括几个目录,这些目录有子目录。我需要删除data/除某些目录中的几个文件之外的所有文件和目录。
例如,数据包括目录100和101. 我只是想保持a.txt与b.txt在文件100/和c.txt和d.txt文件101/同时去除所有其他文件和目录100和101。
例子:
.
??? 100
? ??? a.txt
? ??? b.txt
? ??? c.txt
? ??? d.txt
??? 101
??? a.txt
??? b.txt
??? c.txt
??? d.txt
Run Code Online (Sandbox Code Playgroud)
我使用rm -rf !(a.txt|b.txt)命令,但我无法自动为每个目录应用此命令。
我有一个包含这一行的文本文件:
set stime = '0 0'
Run Code Online (Sandbox Code Playgroud)
我需要将其更改为:
set stime = '0 4'
Run Code Online (Sandbox Code Playgroud)
我试过这些命令:
sed -i 's/original/new/g' file.txt
Run Code Online (Sandbox Code Playgroud)
和
awk '{gsub(/pattern/,"replacement")}' file
Run Code Online (Sandbox Code Playgroud)
但它们不起作用。我想这是因为模式中的撇号。我怎样才能正确地做到这一点?