Cut
剪切命令,命令不保留?
我有一個範例文件:-
[root@localhost base_filters]# cat shortlist 2233|charles harris |g.m. |sales |12/12/52| 90000 9876|bill johnson |director |production|03/12/50|130000 5678|robert dylan |d.g.m. |marketing |04/19/43| 85000 2365|john woodcock |director |personnel |05/11/47|120000 5423|barry wood |chairman |admin |08/30/56|160000
我想翻轉文件中的名稱,以便在姓氏
,
之後有一個逗號,例如,名稱應該顯示為 harris,charles。我嘗試了以下命令:-
[root@localhost base_filters]# tr -s ' ' < shortlist | cut -d\| -f2 | cut -d' ' -f2,1 charles harris bill johnson robert dylan john woodcock barry wood
我希望首先出現姓氏,所以我指定了欄位 2,然後指定了 1,但這似乎不起作用。關於這個的任何想法?
這很容易使用
awk
. 首先列印出名稱,然後再次將輸出通過管道傳輸到 awk(這次使用空格作為文件分隔符)。awk -F "|" '{print $2}' extract.txt | awk -F " " '{print $2 "," $1}'
cut 的手冊頁說
所選輸入的寫入順序與讀取順序相同,並且只寫入一次。
所以你必須使用其他工具而不是切割。例如 sed、awk、perl、python 或 bash。