删除重复的行与tcl很长。
所以我想用shell的短路然后用tcl:
执行它在tclsh下
% exec sort -u file
但文件没有改变
是排序需要重定向吗? 我怎么能这样做!
答案 0 :(得分:2)
sort
命令实际上不会更改输入文件。为此,请使用简单文件重定向
[dinesh@lab ~]$ tclsh
% cat input
o
a
u
e
i
% exec sort -u input > output
% cat output
a
e
i
o
u
%
答案 1 :(得分:0)
要在Tcl中实现,我会使用tcllib's fileutil
module
package require fileutil
::fileutil::foreachLine line "file" {dict set lines $line 1}
set sorted_unique_lines [lsort [dict keys $lines]]
最有可能的是,这比调用sort
要写入同一个文件,并且根据您的操作系统,moreutils
包中有sponge
command(sudo apt-get install moreutils)
exec sort -u file | sponge file