2016-11-01 6 views
0

私は以下のURLを持つ大きなファイルを持っており、bashスクリプトの各URLに異なるディレクトリを作成して、bashスクリプトへの入力としてURLという名前のファイルを与えます。各行のパターンに対するgrep

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/') 

答えて

0

awkバージョンで試すことができます:

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

1

あなただけのフィールド区切り文字としてスラッシュを使用することができますcut

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

あなたはここでは、この

cut -d '/' -f2 | xargs mkdir 
0
awk -F'[./]' '{print $5}' file 

B000742278U3 
B000742279U3 
B000742280U3 
関連する問題