将 ACDC 替换为 AC-DC
例如我们有这些文件
ACDC - 摇滚乐不是噪音污染.xxx
ACDC - Rocker.xxx
ACDC - Shoot To Thrill.xxx
我希望他们成为:
AC-DC - 摇滚乐不是噪音污染.xxx
AC-DC - Rocker.xxx
AC-DC - 惊险刺激.xxx
我知道 sed 或 awk 用于此操作。我无法用谷歌搜索任何东西,所以我在寻求你的帮助 =) 你能为此任务提供完整的 shell 命令吗?
反馈:OSX 用户的解决方案
我有一个小型 Linux 服务器(Debian Squeeze),它运行一个 Samba 服务器,该服务器配置为与一些 Windows 机器共享一些文件夹。在尝试从 Windows 中删除目录之一时,我收到“无法删除文件夹”错误。
我试图从 linux 的控制台中删除目录我得到了一个类似的错误:
# rm dir-name -rf
rm: cannot remove `dir-name': Directory not empty
Run Code Online (Sandbox Code Playgroud)
我列出了目录的内容并找到了一个名为 .fuse_hidden 的文件,后跟一个十六进制数 (000bd8c100000185)。
# ls -la dir-name
-rwxrwxrwx 1 root root 5120 Feb 13 11:46 .fuse_hidden000bd8c100000185
Run Code Online (Sandbox Code Playgroud)
我试图删除 .fuse_hidden 文件,但立即创建了一个新文件(注意十六进制数的变化)。
# rm dir-name/.fuse_hidden000bd8c100000185
# ls -la dir-name
-rwxrwxrwx 1 root root 5120 Feb 13 11:46 .fuse_hidden000bd8c100000186
Run Code Online (Sandbox Code Playgroud)
我也尝试使用 Midnight Commander 删除文件但没有成功。
到目前为止,我发现的其他解决方案涉及 GUI,而我只有控制台。
任何建议表示赞赏。
我有很多空目录,我想知道是否有办法在 MC 中显示实际目录大小(可能经过某种扫描后)
我正在寻找一种解决方案来移动从今天起早一年的文件。我的日志分区已满,但我无法删除它们。他们需要很长时间。无论如何,我想出的一种解决方案是:
find /sourcedirectory -mtime 365 -exec mv "{}" /destination/directory/ \;
Run Code Online (Sandbox Code Playgroud)
这行得通吗?由于“ -mtime 365 ”而询问这是否会将较旧的文件从今天移动到新位置?
谢谢!
我有两个布局相似的目录树,即
.
|-- dir1
| |-- a
| | |-- file1.txt
| | `-- file2.txt
| |-- b
| | `-- file3.txt
| `-- c
| `-- file4.txt
`-- dir2
|-- a
| |-- file5.txt
| `-- file6.txt
|-- b
| |-- file7.txt
| `-- file8.txt
`-- c
|-- file10.txt
`-- file9.txt
Run Code Online (Sandbox Code Playgroud)
我想合并 dir1 和 dir2 目录树以创建:
merged/
|-- a
| |-- file1.txt
| |-- file2.txt
| |-- file5.txt
| `-- file6.txt
|-- b
| |-- file3.txt
| |-- file7.txt …Run Code Online (Sandbox Code Playgroud) 比较目录结构的最佳方法是什么?
我有一个使用rsync的备份实用程序。我想说明源和备份之间的确切差异(在文件大小和上次更改日期方面)。
就像是:
Local file Remote file Compare
/home/udi/1.txt (date)(size) /home/udi/1.txt (date)(size) EQUAL
/home/udi/2.txt (date)(size) /home/udi/2.txt (date)(size) DIFFERENT
Run Code Online (Sandbox Code Playgroud)
当然,该工具可以是现成的,也可以是python脚本的想法。
非常感谢!
乌迪
我的 nginx 默认配置文件变得很大。我想将它拆分为较小的配置文件,每个文件只包含一个,每个文件最多 4 个位置,以便我可以快速启用/禁用它们。
实际文件如下所示:
server {
listen 80 default_server;
root /var/www/
location /1 {
config info...;
}
location /2 {
config info....;
}
location /abc {
proxy_pass...;
}
location /xyz {
fastcgi_pass....;
}
location /5678ab {
config info...;
}
location /admin {
config info....;
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我想将其拆分为每个文件中只有几个位置(属于一起的位置),那么在不引起混乱的情况下执行此操作的正确方法是什么(例如在每个文件中声明根,因此有奇怪的路径是 nginx尝试查找文件)?
显而易见的解决方案产生的退出代码为 1:
bash$ rm -rf .*
rm: cannot remove directory `.'
rm: cannot remove directory `..'
bash$ echo $?
1
Run Code Online (Sandbox Code Playgroud)
一种可能的解决方案是跳过“。” 和 ".." 目录,但只会删除名称超过 3 个字符的文件:
bash$ rm -f .??*
Run Code Online (Sandbox Code Playgroud) 在将池标识切换为域用户后,在 IIS7.5 下,我收到此错误:
“当前身份(域\用户名)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”的写访问权限。”
我可以授予此特定目录的用户权限,但我想知道是否有更好的解决方案。理想情况下,我想将此“临时 ASP.NET 文件”目录配置为存储在其他位置。
在我们的生产构建期间,根目录中的一个非常大(10 兆字节)的静态内容文件有时会被 IIS 锁定,并且无法被清理任务删除。这大概是因为它当时正在积极地为一个或多个客户提供服务。
构建过程在通过清理之前停止网站
c:\Windows\System32\inetsrv\appcmd.exe stop site http://oursite.com
Run Code Online (Sandbox Code Playgroud)
但是,这不会释放文件 - 我们必须重新启动 IIS 以使进程放弃锁定。
appcmd.exe允许您完全关闭 IIS;我们不希望这样做!
有没有其他方法可以让 IIS 释放锁定的文件,而无需重新启动 IIS?简单地停止和启动单个网站绝对不能释放文件锁定。