各行の「/」の前のすべての項目を削除します。

各行の「/」の前のすべての項目を削除します。

/各行の前に表示される特定のテキストを削除しようとしています。

私は次のようなものがあります:

testing.db.com/7fad416d-f2b3-4259-b98d-2449957a3123
testing.db.com/8a8589bf-49e3-4cd7-af15-6753067355c6

私はちょうど次を得たいと思います:

7fad416d-f2b3-4259-b98d-2449957a3123
8a8589bf-49e3-4cd7-af15-6753067355c6 

誰でも正規表現を助けることができますか?私が見つけたすべてのアイテムが削除されています。後ろに /、いいえ今後

ベストアンサー1

使用cut:

$ cut -sd'/' -f2 file.txt   ##This will print only the lines containing /
7fad416d-f2b3-4259-b98d-2449957a3123
8a8589bf-49e3-4cd7-af15-6753067355c6

次の提案/では、連続して一度だけ発生すると仮定します。

使用grep:

$ grep -o '[^/]*$' file.txt  ##This will print the lines not having / too
7fad416d-f2b3-4259-b98d-2449957a3123
8a8589bf-49e3-4cd7-af15-6753067355c6

/すべての行にある場合は、次を使用することもできます。

bashパラメータ拡張の使用:

$ while read line; do echo "${line#*/}"; done <file.txt 
7fad416d-f2b3-4259-b98d-2449957a3123
8a8589bf-49e3-4cd7-af15-6753067355c6

またはpython:

#!/usr/bin/env python2
with open('file.txt') as f:
    for line in f:
        print line.split('/')[1].rstrip()

あなたの例に関して、上記の提案はすべて有効です。

おすすめ記事