Linux grep在每行中输入一个模式

Linux grep在每行中输入一个模式,linux,bash,sed,grep,Linux,Bash,Sed,Grep,我有一个包含以下URL的大文件,希望在bash脚本中为每个URL创建不同的目录,并将以下名为URL的文件作为bash脚本的输入 www.example.com/B000742278U3/B000742278U3.m3u8?p=33&e=1481028335&h=5380934bbca73e3e6de52299b92368b1 www.example.com/B000742279U3/B000742279U3.m3u8?p=33&e=1481028335&h=538

我有一个包含以下URL的大文件,希望在bash脚本中为每个URL创建不同的目录,并将以下名为URL的文件作为bash脚本的输入

www.example.com/B000742278U3/B000742278U3.m3u8?p=33&e=1481028335&h=5380934bbca73e3e6de52299b92368b1
www.example.com/B000742279U3/B000742279U3.m3u8?p=33&e=1481028335&h=5380934bbca73e3e6de52299b92368b1
www.example.com/B000742280U3/B000742280U3.m3u8?p=33&e=1481028335&h=5380934bbca73e3e6de52299b92368b1
预期产出:

B000742278U3
B000742279U3
B000742280U3
我尝试了下面的命令,但无法实现我想要的:

echo $1
mkdir $(echo $1 | sed 's/.*B\(.*\)3/\1/')
cd $(echo $1 | sed 's/.*B\(.*\)3/\1/')

您可以在
cut
中使用斜杠作为字段分隔符:

$ cut -d '/' -f 2 infile
B000742278U3
B000742279U3
B000742280U3

您可以在
cut
中使用斜杠作为字段分隔符:

$ cut -d '/' -f 2 infile
B000742278U3
B000742279U3
B000742280U3
你可以试试这个

 cut -d '/' -f2 | xargs mkdir
你可以试试这个

 cut -d '/' -f2 | xargs mkdir

这是一个
awk
版本:


awk-F/'{print$2}'| xargs mkdir

以下是一个
awk
版本:

awk -F'[./]' '{print $5}' file

B000742278U3
B000742279U3
B000742280U3
awk-F/'{print$2}'| xargs mkdir

awk -F'[./]' '{print $5}' file

B000742278U3
B000742279U3
B000742280U3