需要删除一大批断开的链接 - foreach在空格上失败


0

我在某个时候删除了一个目录,其中有一堆链接指向其内容。我想使用unix foreach从目录中删除现在已死的链接,而不会使用其他文件/链接,但是当我执行cat thelistforeach时,会断开空格中的所有行,在本例中允许使用文件名。有没有人知道如何将整行作为文件名保存到foreach体中?

这是情况......

filename有空格 - > down / this / path / filename有空格

产生此行为:foreach ...找不到文件名未找到未找到的空格

我尝试了各种各样的“”和{}组合,但似乎都没有取代foreach的行为。谢谢。哈雷


您使用哪种语言包含哪些语言foreach?标准shell使用for。如果您使用的是find-lname定位死链接,然后xargs是处理尴尬的文件名很简单:find {SearchDirectory} {SearchCriteria} -print0|xargs -0 rm。在这种情况下\0,使用而不是空格来分隔文件名,因此在名称中保留任何空格。
2016年

foreach...是你想用CSH编写的?除非你没有其他选择,一般建议是:不要: - \
ckujau

正如所指出的,请提供您正在使用的shell(例如bash,ksh,csh,fish)和命令语法。可以使用引用arroud var保护空间:"${file}"
Archemar 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.