如何使用linux命令删除文本文件中的部分行

如何使用linux命令删除文本文件中的部分行,linux,Linux,排队 /mnt/sampleserver/test_1/myfile.pdf 在我的文本文件中,我要删除 /mnt/sampleserver/test_1/ 请建议我如何使用linux命令执行此操作。您可以使用任何文本处理工具,例如sed: % echo "/mnt/sampleserver/test_1/myfile.pdf" | sed -e 's|/mnt/sampleserver/test_1/||' myfile.pdf 您可以使用任何文本处理工具,例如sed: % echo "

排队

/mnt/sampleserver/test_1/myfile.pdf
在我的文本文件中,我要删除

/mnt/sampleserver/test_1/

请建议我如何使用linux命令执行此操作。

您可以使用任何文本处理工具,例如sed:

% echo "/mnt/sampleserver/test_1/myfile.pdf" | sed -e 's|/mnt/sampleserver/test_1/||'
myfile.pdf

您可以使用任何文本处理工具,例如sed:

% echo "/mnt/sampleserver/test_1/myfile.pdf" | sed -e 's|/mnt/sampleserver/test_1/||'
myfile.pdf

使用“basename”命令。类似这样的内容:
basename/mnt/sampleserver/test\u 1/myfile.pdf

使用“basename”命令。类似这样的内容:
basename/mnt/sampleserver/test\u 1/myfile.pdf

几种方法:

file="/mnt/sampleserver/test_1/myfile.pdf"

$ echo ${file##*/}
myfile.pdf

$ echo $file | cut -d/ -f5
myfile.pdf

$ echo $file | awk -F/ '{print $5}'
myfile.pdf
有几种方法:

file="/mnt/sampleserver/test_1/myfile.pdf"

$ echo ${file##*/}
myfile.pdf

$ echo $file | cut -d/ -f5
myfile.pdf

$ echo $file | awk -F/ '{print $5}'
myfile.pdf

下面的内容应该会让你行动起来。(注意“\”表示转义字符)


/bin/sed-i“s//mnt/sampleserver/test_1//“

下面的内容应该可以帮助您继续。(注意“\”表示转义字符)


/bin/sed-i“s//mnt/sampleserver/test_1//”

basename
将给出
myfile.pdf
@fedorqui是的,OP说的是“删除”,而不是“提取”。是的-他想删除/mnt/sampleserver/test_1/oops是我的错,抱歉我从另一个角度理解了。
basename
将给出
myfile.pdf
@fedorqui是的,OP说的是“删除”,而不是“提取”。是的,他想删除/mnt/sampleserver/test\u 1/oops我的错,对不起,我理解了另一种方式。使用/bin/sed-I“s/\/mnt\/sampleserver\/test\u 1\//”file\u name/bin/sed-I“s/\/mnt\/sampleserver\/test\u 1\//”file\u name