我必须(
用文件中的某个字符替换,但我做不到。\(
用于在 sed 中分组,当我\\(
与 sed 一起使用时,它将其视为\(
字符而不仅仅是(
. 对我来说,这似乎是一个棘手的案例。
这是数据:
D 2
B 2
A 2
Run Code Online (Sandbox Code Playgroud)
当我运行此命令时:
sort -k2,2 file
Run Code Online (Sandbox Code Playgroud)
它输出:
A 2
B 2
D 2
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我只指定第二列时-k2,2
,为什么它也按第一列排序?由于第二列的所有值都相同,因此应保持原样。
我有一个这样的数据集:
manufacturer,model,year,mileage,price
plym fury 1970 73 2500
chevy malibu 1999 60 3000
ford mustang 1965 45 10000
volvo s80 1998 102 9850
ford thundbd 2003 15 10500
chevy malibu 2000 50 3500
bmw 315i 1985 115 450
honda accord 2001 30 6000
ford taurus 2004 10 17000
toyota rav4 2002 180 750
chevy impala 1985 85 1550
ford explor 2003 25 9500
Run Code Online (Sandbox Code Playgroud)
我应该按制造商对文件进行排序,然后按制造商内的价格进行排序。
书上说这个命令可以做到这一点:
sort -t ' ' a -k1,1 -k5
Run Code Online (Sandbox Code Playgroud)
我的问题是上面的命令和这个命令有什么区别
sort -t ' ' a -k1 -k5
Run Code Online (Sandbox Code Playgroud)
-k1 …