各ラインから文字列の一部を削除各行は、フォーマットの単一の文字列である私は、テキストファイルを持っている
/home/usr1/284.txt
ファイル全体では私はありたい何
/home/usr1/284.txt
/home/usr1/361.txt
のようなものですLINUX/UNIXコマンドを使用していることを行うにはどのように
/home/usr1/
を削除し、ファイル名を保持し、例えば、
284.txt
?
basename
の逆数は、あなたが最終的に他の部分を必要とする場合には、
dirname
ある
while read line; do basename "$line"; done < filename
:
おかげで、あなたは 'sの。*/,,' の正規表現はありませんどのように手の込んだことができます動作しますか? –
@ bit-questionは、最後の '/'を含むすべてを削除します。 'S'は、置換、'、 ''、私が選んだの区切り文字であるが、他の文字を使用している可能性を意味します。*/'代替として正規表現も自己であり、空の文字列。ほとんどの文字を区切り文字として使うことができます。たとえば、 's!。*/!!'と書くことができます。 – Qtax