-
Notifications
You must be signed in to change notification settings - Fork 5
/
# Understand command cat, join and paste
144 lines (94 loc) · 2.78 KB
/
# Understand command cat, join and paste
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# Understand command cat, join and paste
1. Command `cat`:
- Using to concat files content and print to standard ouput. Example:
cat filename 2filename 3filename
- Using to create a standard input or standard output. Example:
- Standard input:
cat > filename
[enter contents to write to filename and stop by Ctrl+C]
- Standard output:
cat filename
- Using option `-n` to show lines number. Example:
cat -n filename
- Using option `-E` to show `$` at the end line. (often using when word wrap):
cat -n filname
2. Command 'join':
- Using to join lines of 2 files to one (merge) on a common field. Example:
cat -n filename > filename.cp && cat filename.cp
1 haha
2 hihi
3 lala
4 shosh
5 hehe
6 lol
7 pass
8 user
and
cat -n 2filename > 2filename.cp && cat 2filename.cp
1 haha
2 hehe
3 lala
4 lili
5 lolo
6 sss sss
7 hownch
8
with command `join filename.cp 2filename.cp` will printed:
1 haha haha
2 hihi hehe
3 lala lala
4 shosh lili
5 hehe lolo
6 lol sss sss
7 pass hownch
8 user
- Each field separate by a `space`. Example:
cat filename:
haha hihi hehe
Above, filename have 3 fields is haha, hihi, hehe.
- Using `-1 FIELD` and `-2 2FIELD` to join `FIELS` in file 1 with `2FIELD` in file 2. Example:
cat wine.txt
Red Beaunes France
White Reisling Germany
Red Riocha Spain
and
cat reviews.txt
Beaunes Great!
Reisling Terrible!
Riocha Meh
with command `join -1 2 -2 1 wine.txt reviews.txt`, we have:
Beaunes Red France Great!
Reisling White Germany Terrible!
Riocha Red Spain Meh
- Using option `-o` to format output. Example:
join -o 1.1,1.2,1.3
will printed:
something, something, something
3. Command `paste`:
- Using to merge lines of files. Example
paste filename 2filename
will printed:
haha haha
hihi hehe
lala lala
shosh lili
hehe lolo
lol sss sss
pass hownch
user
- Using option `-d` to delimiters. Example:
paste -d filename 2filename
will printed:
haha:haha
hihi:hehe
lala:lala
shosh:lili
hehe:lolo
lol:sss sss
pass:hownch
user:
- Using option `-s` to delimiters. Example:
paste -s filename 2filename
will printed:
haha hihi lala shosh hehe lol pass user
haha hehe lala lili lolo sss sss hownch