出于测试目的,我创建了以下目录。
user@linux:~$ mkdir dir0{1..3}
user@linux:~$ ls -l
total 12K
drwxr-xr-x 2 user user 4.0K Mei 31 10:45 dir01
drwxr-xr-x 2 user user 4.0K Mei 31 10:45 dir02
drwxr-xr-x 2 user user 4.0K Mei 31 10:45 dir03
user@linux:~$
然后,我用find -exec删除了它
user@linux:~$ find -type d -exec rmdir {}
要删除Linux计算机所有用户的所有电子邮件,我运行:
find /var/spool/mail/ -regextype sed -regex "^.*[^/]$" -exec :> {} \;
..。然而,我收到了以下错误消息(S):
find: ‘:’: No such file or directory
find: ‘:’: No such file or directory
find: ‘:’: No such file or directory
怎么啦?
当我使用find运行-execdir时,我没有得到预期的结果。
例如:
mkdir -p a/b/c
find . -type d -execdir touch foo \;
$ tree a
a
├── b
│ ├── c
│ └── foo
└── foo
目录c不包含foo文件。如何让find访问并在每个目录中进行本地操作?
我在我正在管理的QNAP Linux NAS系统的用户中发现了一个坏习惯文件命名。我们有一个Mac网络,一些文件夹和文件使用"/“字符命名,我知道它给Linux文件系统带来了问题。事实上,在Mac端,包含"/“的文件就会消失,因为QTS会自动用"/”替换所有实例。
我想搜索并重命名文件名,从":“到"_”。
在网上讨论时,我发现我可以用终端从我的Mac连接到Linux,并执行如下脚本:
for f in $(find /share/Public/demofind -name "*:*"); do mv $f ${f/:/_}; done
CMake文档表明交叉编译时设置了CMAKE_CROSSCOMPILING。在我的CMakeLists.txt中,我有这样的台词:
IF(CMAKE_CROSSCOMPILING)
message(STATUS "Cross-compiling so skipping unit tests.")
option(GAME_PORTAL_UNIT_TEST "Enable unit testing of Game Portal code" OFF)
ELSE()
message(STATUS "Enabling unit testin
我正在尝试在我的项目中包含SFML源代码。我的目录布局如下:
main
SFML (subtree synced with the official git repo)
src
<various modules>
General (here lies the binary)
从主目录开始,我首先添加sfml子目录,然后添加src。正如我在查看构建日志时看到的,这将生成库:
sfml‑system
sfml‑window
sfml‑network
sfml‑graphics
sfml‑audio
sfml‑main
现在,我想将它们链接到General目录中的
在我的目录层次结构中,我有许多名为STATUS.txt的文本文件。这些文本文件每个包含一个关键字,如完整、等待、未来或打开。我希望执行以下形式的shell命令:
./mycommand OPEN
,它将列出包含名为STATUS.txt的文件的所有目录,其中该文件包含文本“打开”。
将来,我希望扩展这个脚本,以便对返回的目录进行排序。排序将由存储在与PRIORITY.txt相同目录中的文件STATUS.txt的数值决定。然而,这可以等到我的能力水平提高。目前,我很高兴按任何顺序列出目录。
我搜索了Stack溢出,但没有结果:
unix按文件内容筛选
linux按文件内容过滤
she
通常,通常需要找到一个文件,它的名称应该同时包含多个子字符串。我怎么才能和bash一起做呢?
例如," boost“、" qt”和"linux“在一个名为”如何链接linux.htm下的qt“的文件中。
P.S .最后,我通过以下方法找到了该文件:
find . -name *boost* | xargs find . -name *Qt*
但首先,它发出了这样的抱怨:
xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option
fi
我正在Linux上工作,有一个文件夹,它包含许多子目录。我需要删除所有的子目录有一个相同的名字。例如,
dir
|---subdir1
|---subdir2
| |-----subdir1
|---file
我想删除所有的subdir1。这是我的剧本:
find dir -type d -name "subdir1" | while read directory ; do
rm -rf $directory
done
然而,我执行它,但似乎什么都没有发生。
我也尝试过find dir -type d "subdir1" -delete,