小编dee*_*lue的帖子

删除文件时排除某些文件和目录

我的顶级目录是data. data包括几个目录,这些目录有子目录。我需要删除data/除某些目录中的几个文件之外的所有文件和目录。

例如,数据包括目录100101. 我只是想保持a.txtb.txt在文件100/c.txtd.txt文件101/同时去除所有其他文件和目录100101

例子:

.
??? 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)命令,但我无法自动为每个目录应用此命令。

command-line bash scripts rm

11
推荐指数
2
解决办法
1069
查看次数

替换文件中包含撇号的模式

我有一个包含这一行的文本文件:

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)

但它们不起作用。我想这是因为模式中的撇号。我怎样才能正确地做到这一点?

command-line sed awk text-processing

7
推荐指数
2
解决办法
3732
查看次数

标签 统计

command-line ×2

awk ×1

bash ×1

rm ×1

scripts ×1

sed ×1

text-processing ×1