web-dev-qa-db-ja.com

末尾のスラッシュを削除する方法

ファイルの各行について、行が/で終わっている場合は削除します。これを行う方法?私の試み:

sed -e "s/$\/$//" myfile.txt > myfile_noslash.txt

動作しませんでした。

3
user9371654

あなたのコマンドは誤ったドル記号を持っています。修繕:

sed -e 's/\/$//' myfile.txt > myfile_noslash.txt
5
Freddy

コマンドは、ファイルの行の最後にある$の後に/を削除しようとします。

正規表現に最初の$は必要ありません。

sed 's/\/$//' myfile.txt >myfile_noslash.txt

sの置換コマンドsedは、区切り文字としてほとんどすべての文字を使用できます。次に例を示します。

s@/$@@

または

s,/$,,

または

s|/$||

だからあなたのコマンドは

sed 's,/$,,' myfile.txt >myfile_noslash.txt
9
Kusalananda

正規表現では区切り文字として任意の文字を使用できます

sed -e 's%/$%%' myfile.txt > myfile_noslash.txt

1
ctrl-alt-delor

以下で試してみましたpython

#!/usr/bin/python
import re
k=open('l.txt','r')
for i in k:
    print re.sub("/$","",i).strip()
1