GNU/Linux >> Linux の 問題 >  >> Linux

Tac、Rev、Paste、および Join Unix コマンドを使用したファイル操作の例

この記事では、Unix の tac コマンド、rev コマンド、paste コマンド、および join コマンドの使用方法を確認します。実例付き。

1. tac コマンド – ファイルを逆方向​​に印刷 (最終行が最初)

tac という言葉は、cat という言葉の逆です。 tac コマンドの機能も、cat コマンドの逆です。 cat コマンドはファイルを出力します。 tac コマンドは、最後の行を先頭にして逆の順序でファイルを出力します。

$ cat thegeekstuff.txt
1. Linux Sysadmin, Scripting etc.,
2. Databases Oracle, mySQL etc.,
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10. Windows Sysadmin, reboot etc.,
11. Adding 1's and 0's

$ tac thegeekstuff.txt
11. Adding 1's and 0's
10. Windows Sysadmin, reboot etc.,
9. Software Development
8. Website Design
7. Productivity (Too many technologies to explore, not much time available)
6. Cool gadgets and websites
5. Storage
4. Security (Firewall, Network, Online Security etc)
3. Hardware
2. Databases Oracle, mySQL etc.,
1. Linux Sysadmin, Scripting etc.,

2. rev コマンド – すべての行の文字の順序を逆にする

次の例に示すように、すべての行で文字の順序を逆にします。 rev コマンドは行の各文字を反転するのに対し、tac コマンドはファイルの各行を反転するため、tac コマンドとは異なります。

$ rev thegeekstuff.txt
,.cte gnitpircS ,nimdasyS xuniL .1
,.cte LQSym ,elcarO sesabataD .2
erawdraH .3
)cte ytiruceS enilnO ,krowteN ,llaweriF( ytiruceS .4
egarotS .5
setisbew dna stegdag looC .6
)elbaliava emit hcum ton ,erolpxe ot seigolonhcet ynam ooT( ytivitcudorP .7
ngiseD etisbeW .8
tnempoleveD erawtfoS .9
,.cte toober ,nimdasyS swodniW .01
s'0 dna s'1 gniddA .11

3.貼り付けコマンド – ファイル行をマージ

file1、file2、.. fileN の line1 を出力の line1 に貼り付けます。すべての行で同じことが繰り返されます。各ファイルの行はタブで区切られます。

出力の貼り付け:

$ paste f1 f2 f3
f1-line1<tab>f2-line1<tab>f3-line1
f1-line2<tab>f2-line2<tab>f3-line2
f1-line3<tab>f2-line3<tab>f3-line3
...

次の例では、3 つの異なるファイルの対応する行が結合され、適切に表示されています。

$ cat emp-number.txt
100
200
300
400
500

$ cat emp-firstname.txt
Emma
Alex
Madison
Sanjay
Nisha

$ cat emp-lastname.txt
Thomas
Jason
Randy
Gupta
Singh

$ paste emp-number.txt emp-firstname.txt emp-lastname.txt
100     Emma    Thomas
200     Alex    Jason
300     Madison Randy
400     Sanjay  Gupta
500     Nisha   Singh

4. join – 共通フィールドに基づいて 2 つのファイルの行を結合

フィールドを使用して指定できる共通フィールドに基づいて、2 つのファイルを結合できます。

Syntax:
$ join -t':' -1 N -2 N file1 file2
  • -t’:’ – :はフィールド セパレータです
  • -1 N :1 番目のファイルの N 番目のフィールド
  • -2 N :2 番目のファイルの N 番目のフィールド
  • file1 file2 :結合するファイル

この例では、共通の従業員番号フィールドを使用して、employee.txt ファイルと Bonus.txt ファイルを結合してみましょう。

$ cat employee.txt
100     Emma    Thomas
200     Alex    Jason
300     Madison Randy
400     Sanjay  Gupta
500     Nisha   Singh

$ cat bonus.txt
$5,000  100
$5,500  200
$6,000  300
$7,000  400
$9,500  500

$ join  -1 1 -2 2 employee.txt bonus.txt
100 Emma Thomas $5,000
200 Alex Jason $5,500
300 Madison Randy $6,000
400 Sanjay Gupta $7,000
500 Nisha Singh $9,500

Linux
  1. Linuxでの例で「cat」および「tac」コマンドを使用する方法

  2. 6 Linux のファイルとディレクトリを移動または名前変更する mv コマンドの例

  3. Unix - フォルダーとファイルのパスを作成する

  1. 初心者向けのLinux貼り付けコマンドの説明(5例)

  2. Linuxコマンド-概要と例

  3. 例を使用したコマンドチュートリアルの展開と展開解除

  1. Linux および Unix でファイルをコピーする方法10 cp コマンドの例

  2. Linux / UNIX でファイルを管理する 10 の Cat コマンドの例

  3. cat、more、tail、head、wc コマンドを使用してファイルを表示する