删除之前的所有文本/以及之后的所有文本:并从列表中删除:

时间:2015-10-08 03:27:50

标签: sed rsync

name//name/20000_random_test.txt: No space left on device

这是我需要在文件中修改的一行示例,其中所有行具有相同的模式,如下所示:

name//name/<nameoffile>: No space left on device

我尝试使用:

cat didnotmakeit.txt | sed 's|.*\\\(.*\)|\1|' > filestoupload.txt

sed 's|.*\\\(.*\)|\1|' didnotmakeit.txt > filestoupload.txt

但这些都没有对文件做任何事情。

由于空间不足,一定数量的文件未传输到文件夹。我将列表复制并粘贴到一个文件中。

我需要删除文件名前后的字符。这样,我将有一个列表,然后使用另一个命令,如:

grep NAME_REGEXP /path/to/filenames.list | rsync -a --files-from - . remote.example.com:

请帮我删除这些不必要的字符。谢谢!

1 个答案:

答案 0 :(得分:0)

以下内容应该有效:

sed 's!.*/\([^:].*\):.*!\1!' didnotmakeit.txt