我真的尝试了很多,我知道sed是如何工作的,
但我有一个档案,说ls -t -d */
这给了我
15072301/
15072300/
15072223/
15072222/
15072221/
基本上我想在每一行的末尾摆脱这个/。使用sed本身?我知道我也可以处理它,比如拿一个子串但是必须有一个sed答案吗?
答案 0 :(得分:6)
从每行中删除尾部斜杠的sed
方法是
sed 's:/$::' file
请注意,ls
实际上并未提供任何值,假设目录名称与上次修改时间相对应。 shell将按排序顺序展开glob。所以你不妨使用
printf '%s\n' */ | sort -r | sed 's:/$::'
通常不应在脚本中使用ls
。有关讨论,请参阅http://mywiki.wooledge.org/ParsingLs。