切り取りコマンドを使用してフィールド/文字を並べ替える

切り取りコマンドを使用してフィールド/文字を並べ替える

重複の可能性:
単一のコマンドで2つの異なるカット出力を結合しますか?

以下を含むtemp.txtファイルがあります。

ABCDF

PQRST

LMNOP

cutこのコマンドを試しました

$ cut -c 2-5 temp.txt
BCDF

QRST

MNOP

出力は正しいです。

$ cut -c 1,2,3,4 temp.txt
ABCD

PQRS

LMNO

出力は正しいです。

しかし、順序を変えると、次のような意味になります。

$ cut -c 2-4,1 temp.txt
ABCD

PQRS

LMNO

上記の出力を見せてください。

しかし論理的には、

BCDA

QRSP

MNOL

だから私の質問は、これがどのように起こり、その理由が何であるかです。

ベストアンサー1

説明はにありますがman cut、好む期待値と考えやすいです。しかしそれは言います:

Selected input is written in the same order that it is read  

入力の意味はあいまいかもしれませんが、一般にオプションはオプションにすぎず、処理されるファイルは必ず入力する

たとえばのlist-c 2,3,4,1正規表現のリストによく似ています。[2341]; 2倍になっても、リスト内のすべての数字を意味します。たとえば、-c 2,2,2,2,2,2..と同じで-c 2正規表現の場合[2222222]...と同じです[2]。重要ではない。

おすすめ記事