从bash中的ls中删除正斜杠

时间:2015-07-31 10:33:23

标签: bash sed

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

但我有一个档案,说ls -t -d */ 这给了我

15072301/
15072300/
15072223/
15072222/
15072221/

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

1 个答案:

答案 0 :(得分:6)

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

sed 's:/$::' file

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

printf '%s\n' */ | sort -r | sed 's:/$::'

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