入力する:

入力する:

以前は実際の行の削除について質問し、良い回答を得ましたが、今では特定の列から特定の行番号の下のすべての行を削除する方法を知りたいです。他のすべての列と行は変更されていないままにしてください。

ボーナスで削除された特定のスペースに別の列を貼り付けまたは印刷する方法もあります。

はい(タブで区切られた列) - 列 1 でのみ行 2 とその下のすべての行を削除し、1 列を左に移動して行 2 と列 3 を行 2 から下に移動します。

入力する:

hunkey dorey pringle  
jungley fevery jingles  
freshly cutting jackle  
Queen Kingly Squire

出力:

hunkey dorey pringle  
fevery jingles  
cutting jackle  
Kingly Squire

答え1

awk解決策。

awk '{if(NR>1){$1="";sub(" ","")}}1'

答え2

sed 'N,$s/^[^ ]\+[ ]\+//'

ここで、Nは最初の列が失われた最初の行の行番号です。

答え3

GNU sedの使用:

sed '2,$ s/[^\t]*\t//' file

持ち運べる:

tab=$(printf '\t')
sed '2,$ s/[^'"$tab"']*'"$tab"'//' file
  • 2. $ 2行目から最後の行まで
  • s/[^\t]*\t//タブ文字を除くすべての文字を、次のタブ文字(最初のタブ文字)に置き換えます。

関連情報