从bash中的ls中删除正斜杠

kha*_*nna 0 bash sed

我真的尝试了很多,我知道sed是如何工作的,

但我有一个文件,说ls -t -d */ 哪个给了我

15072301/
15072300/
15072223/
15072222/
15072221/
Run Code Online (Sandbox Code Playgroud)

基本上我想在每一行的末尾摆脱这个/.使用sed本身?我知道我也可以处理它,比如拿一个子串但是必须有一个sed答案吗?

tri*_*eee 6

sed从每一行中删除尾部斜杠的方法是

sed 's:/$::' file
Run Code Online (Sandbox Code Playgroud)

请注意,ls这里实际上没有提供任何值,假设目录名称与上次修改时的名称相对应.shell将按排序顺序展开glob.所以你不妨使用

printf '%s\n' */ | sort -r | sed 's:/$::'
Run Code Online (Sandbox Code Playgroud)

通常不应ls在脚本中使用.请参阅http://mywiki.wooledge.org/ParsingLs进行讨论.