politics 1.0.82 → 1.0.87
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CYCLE_OF_HEALTH +9 -15
- data/Makefile +1 -1
- data/README.md +73 -61
- data/VERSION_NUMBER +1 -1
- data/bin/append_each +0 -0
- data/bin/google_speak +4 -3
- data/bin/lines +0 -0
- data/bin/nth_word +0 -0
- data/bin/prepend_each +0 -0
- data/bin/rgsub +0 -0
- data/documentation/append_each +3 -0
- data/documentation/left_right.exe +1 -1
- data/documentation/page +43 -42
- data/documentation/prepend_each +3 -0
- data/gem_data/VERSION_NUMBER +1 -1
- data/index.html +98 -90
- data/install.sh +5 -1
- data/non_compiled_programs/google_speak +4 -3
- data/{cleanup → other/cleanup} +1 -0
- data/other/experimental_code/ABOUT_S +1 -10
- data/other/experimental_code/a/six +0 -0
- data/other/experimental_code/odi +4 -10
- data/other/experimental_code/orig +11 -20
- data/other/experimental_code/pr.rb +1 -1
- data/src/_compilation/abs +38 -19
- data/src/_compilation/add +38 -19
- data/src/_compilation/append +38 -19
- data/src/_compilation/append_each +290 -0
- data/src/_compilation/args +38 -19
- data/src/_compilation/delete +38 -19
- data/src/_compilation/div +38 -19
- data/src/_compilation/exp +38 -19
- data/src/_compilation/floor +38 -19
- data/src/_compilation/gsub +38 -19
- data/src/_compilation/gsubip +38 -19
- data/src/_compilation/last_nth +38 -19
- data/src/_compilation/lines +38 -19
- data/src/_compilation/mul +38 -19
- data/src/_compilation/nth +38 -19
- data/src/_compilation/nth_word +38 -19
- data/src/_compilation/prepend +38 -19
- data/src/_compilation/prepend_each +290 -0
- data/src/_compilation/rip +38 -19
- data/src/_compilation/rnip +38 -19
- data/src/_compilation/selectlines +38 -19
- data/src/_compilation/sub +38 -19
- data/src/_compilation/swap +38 -19
- data/src/_compilation/trim +38 -19
- data/src/programs/append_each +0 -0
- data/src/programs/lines +0 -0
- data/src/programs/prepend_each +0 -0
- data/src/rgsub +0 -0
- data/src/rgsub.c +24 -25
- data/src/src/Makefile +1 -1
- data/src/src/cd +3 -0
- data/src/src/code +30 -9
- data/src/src/functions.cr +29 -16
- data/src/src/mk +6 -8
- data/src/src/rm +1 -0
- metadata +16 -10
- data/other/experimental_code/a/a.out +0 -0
- data/other/experimental_code/a/hello_world +0 -0
- data/other/experimental_code/c_program_faster +0 -0
- data/src/src/q.cr +0 -9
- /data/images/{12.png → 8.png} +0 -0
- /data/other/experimental_code/{Resume.pdf → description_of_what_ive_done_old.pdf} +0 -0
- /data/other/experimental_code/{merge → merge.rb} +0 -0
data/src/_compilation/lines
CHANGED
@@ -1,11 +1,24 @@
|
|
1
1
|
#!/usr/bin/crystal
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
CORE_UTIL_STRING = "core_utils"
|
4
|
+
|
5
|
+
def prepend_each(arg)
|
6
|
+
STDIN.each_line do |line|
|
7
|
+
puts arg + line
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
11
|
+
def append_each(arg)
|
12
|
+
STDIN.each_line do |line|
|
13
|
+
puts line + arg
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def delete(arg)
|
18
|
+
`find -name #{arg}`.each_line do |i|
|
19
|
+
File.delete(i)
|
20
|
+
end
|
21
|
+
end
|
9
22
|
|
10
23
|
def nth_word(arg)
|
11
24
|
i = arg.to_u64 - 1
|
@@ -20,11 +33,11 @@ def trim()
|
|
20
33
|
end
|
21
34
|
end
|
22
35
|
|
23
|
-
def lines()
|
36
|
+
def lines(folder = ".")
|
24
37
|
if !STDIN.tty?
|
25
|
-
puts STDIN.gets_to_end.count(
|
38
|
+
puts STDIN.gets_to_end.count('\n')
|
26
39
|
else
|
27
|
-
res = `find
|
40
|
+
res = `find #{folder}`.count('\n') - 1
|
28
41
|
puts res
|
29
42
|
end
|
30
43
|
end
|
@@ -155,25 +168,25 @@ end
|
|
155
168
|
def gsubip(arg1, arg2, arg3)
|
156
169
|
regex = Regex.new(arg1)
|
157
170
|
text = File.read(arg3).gsub(/#{arg1}/m, arg2)
|
158
|
-
File.open(t = File.tempname(
|
171
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
|
159
172
|
h.print text
|
160
173
|
end
|
161
174
|
begin
|
162
175
|
File.rename t, arg3
|
163
176
|
rescue
|
164
|
-
|
177
|
+
File.delete t
|
165
178
|
end
|
166
179
|
end
|
167
180
|
|
168
181
|
def rip(arg1, arg2, arg3)
|
169
182
|
text = File.read(arg3).gsub(arg1, arg2)
|
170
|
-
File.open(t = File.tempname(
|
183
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
|
171
184
|
h.print text
|
172
185
|
end
|
173
186
|
begin
|
174
187
|
File.rename t, arg3
|
175
188
|
rescue
|
176
|
-
|
189
|
+
File.delete t
|
177
190
|
end
|
178
191
|
end
|
179
192
|
|
@@ -197,7 +210,7 @@ def swap(file1, file2)
|
|
197
210
|
[file1, file2].each do |f|
|
198
211
|
File.exists?(f) || abort("No file named #{f.dump}")
|
199
212
|
end
|
200
|
-
t = File.tempname(
|
213
|
+
t = File.tempname(CORE_UTIL_STRING, "_tmp")
|
201
214
|
|
202
215
|
File.rename file1, t
|
203
216
|
File.rename file2, file1
|
@@ -207,27 +220,27 @@ end
|
|
207
220
|
def prepend(file)
|
208
221
|
file_data = File.read(file)
|
209
222
|
new_data = STDIN.gets_to_end
|
210
|
-
File.open(t = File.tempname(
|
223
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
|
211
224
|
h << new_data + file_data
|
212
225
|
end
|
213
226
|
|
214
227
|
begin
|
215
228
|
File.rename t, file
|
216
229
|
rescue
|
217
|
-
|
230
|
+
File.delete t
|
218
231
|
end
|
219
232
|
end
|
220
233
|
|
221
234
|
def append(file)
|
222
235
|
file_data = File.read(file)
|
223
236
|
new_data = STDIN.gets_to_end
|
224
|
-
File.open(t = File.tempname(
|
237
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
|
225
238
|
h << file_data + new_data
|
226
239
|
end
|
227
240
|
begin
|
228
241
|
File.rename t, file
|
229
242
|
rescue
|
230
|
-
|
243
|
+
File.delete t
|
231
244
|
end
|
232
245
|
end
|
233
246
|
|
@@ -258,13 +271,19 @@ class Funcs
|
|
258
271
|
end
|
259
272
|
|
260
273
|
|
261
|
-
def main
|
262
|
-
|
274
|
+
def main
|
275
|
+
size = ARGV.size
|
276
|
+
|
277
|
+
if size > 1
|
263
278
|
Funcs.argument_data("lines", "[lines] [arguments]", "Lines gets the number of files in the current folder that you are in.\n\nIt can also act like “wc -l” if you pipe data into it.")
|
264
279
|
exit 1
|
265
280
|
end
|
266
281
|
|
267
|
-
|
282
|
+
begin
|
283
|
+
lines(ARGV[0]?)
|
284
|
+
rescue e : Exception
|
285
|
+
puts e
|
286
|
+
end
|
268
287
|
end
|
269
288
|
|
270
289
|
|
data/src/_compilation/mul
CHANGED
@@ -1,11 +1,24 @@
|
|
1
1
|
#!/usr/bin/crystal
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
CORE_UTIL_STRING = "core_utils"
|
4
|
+
|
5
|
+
def prepend_each(arg)
|
6
|
+
STDIN.each_line do |line|
|
7
|
+
puts arg + line
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
11
|
+
def append_each(arg)
|
12
|
+
STDIN.each_line do |line|
|
13
|
+
puts line + arg
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def delete(arg)
|
18
|
+
`find -name #{arg}`.each_line do |i|
|
19
|
+
File.delete(i)
|
20
|
+
end
|
21
|
+
end
|
9
22
|
|
10
23
|
def nth_word(arg)
|
11
24
|
i = arg.to_u64 - 1
|
@@ -20,11 +33,11 @@ def trim()
|
|
20
33
|
end
|
21
34
|
end
|
22
35
|
|
23
|
-
def lines()
|
36
|
+
def lines(folder = ".")
|
24
37
|
if !STDIN.tty?
|
25
|
-
puts STDIN.gets_to_end.count(
|
38
|
+
puts STDIN.gets_to_end.count('\n')
|
26
39
|
else
|
27
|
-
res = `find
|
40
|
+
res = `find #{folder}`.count('\n') - 1
|
28
41
|
puts res
|
29
42
|
end
|
30
43
|
end
|
@@ -155,25 +168,25 @@ end
|
|
155
168
|
def gsubip(arg1, arg2, arg3)
|
156
169
|
regex = Regex.new(arg1)
|
157
170
|
text = File.read(arg3).gsub(/#{arg1}/m, arg2)
|
158
|
-
File.open(t = File.tempname(
|
171
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
|
159
172
|
h.print text
|
160
173
|
end
|
161
174
|
begin
|
162
175
|
File.rename t, arg3
|
163
176
|
rescue
|
164
|
-
|
177
|
+
File.delete t
|
165
178
|
end
|
166
179
|
end
|
167
180
|
|
168
181
|
def rip(arg1, arg2, arg3)
|
169
182
|
text = File.read(arg3).gsub(arg1, arg2)
|
170
|
-
File.open(t = File.tempname(
|
183
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
|
171
184
|
h.print text
|
172
185
|
end
|
173
186
|
begin
|
174
187
|
File.rename t, arg3
|
175
188
|
rescue
|
176
|
-
|
189
|
+
File.delete t
|
177
190
|
end
|
178
191
|
end
|
179
192
|
|
@@ -197,7 +210,7 @@ def swap(file1, file2)
|
|
197
210
|
[file1, file2].each do |f|
|
198
211
|
File.exists?(f) || abort("No file named #{f.dump}")
|
199
212
|
end
|
200
|
-
t = File.tempname(
|
213
|
+
t = File.tempname(CORE_UTIL_STRING, "_tmp")
|
201
214
|
|
202
215
|
File.rename file1, t
|
203
216
|
File.rename file2, file1
|
@@ -207,27 +220,27 @@ end
|
|
207
220
|
def prepend(file)
|
208
221
|
file_data = File.read(file)
|
209
222
|
new_data = STDIN.gets_to_end
|
210
|
-
File.open(t = File.tempname(
|
223
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
|
211
224
|
h << new_data + file_data
|
212
225
|
end
|
213
226
|
|
214
227
|
begin
|
215
228
|
File.rename t, file
|
216
229
|
rescue
|
217
|
-
|
230
|
+
File.delete t
|
218
231
|
end
|
219
232
|
end
|
220
233
|
|
221
234
|
def append(file)
|
222
235
|
file_data = File.read(file)
|
223
236
|
new_data = STDIN.gets_to_end
|
224
|
-
File.open(t = File.tempname(
|
237
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
|
225
238
|
h << file_data + new_data
|
226
239
|
end
|
227
240
|
begin
|
228
241
|
File.rename t, file
|
229
242
|
rescue
|
230
|
-
|
243
|
+
File.delete t
|
231
244
|
end
|
232
245
|
end
|
233
246
|
|
@@ -258,13 +271,19 @@ class Funcs
|
|
258
271
|
end
|
259
272
|
|
260
273
|
|
261
|
-
def main
|
262
|
-
|
274
|
+
def main
|
275
|
+
size = ARGV.size
|
276
|
+
|
277
|
+
if size > 0
|
263
278
|
Funcs.argument_data("mul", "[mul] [arguments]", "Multiply numbers\n\necho 1 > file\necho 2 >> file\necho 3 >> file\necho 4 >> file\necho 5 >> file\n\ncat file | mul\n\n=> 120")
|
264
279
|
exit 1
|
265
280
|
end
|
266
281
|
|
267
|
-
|
282
|
+
begin
|
283
|
+
mul
|
284
|
+
rescue e : Exception
|
285
|
+
puts e
|
286
|
+
end
|
268
287
|
end
|
269
288
|
|
270
289
|
|
data/src/_compilation/nth
CHANGED
@@ -1,11 +1,24 @@
|
|
1
1
|
#!/usr/bin/crystal
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
CORE_UTIL_STRING = "core_utils"
|
4
|
+
|
5
|
+
def prepend_each(arg)
|
6
|
+
STDIN.each_line do |line|
|
7
|
+
puts arg + line
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
11
|
+
def append_each(arg)
|
12
|
+
STDIN.each_line do |line|
|
13
|
+
puts line + arg
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def delete(arg)
|
18
|
+
`find -name #{arg}`.each_line do |i|
|
19
|
+
File.delete(i)
|
20
|
+
end
|
21
|
+
end
|
9
22
|
|
10
23
|
def nth_word(arg)
|
11
24
|
i = arg.to_u64 - 1
|
@@ -20,11 +33,11 @@ def trim()
|
|
20
33
|
end
|
21
34
|
end
|
22
35
|
|
23
|
-
def lines()
|
36
|
+
def lines(folder = ".")
|
24
37
|
if !STDIN.tty?
|
25
|
-
puts STDIN.gets_to_end.count(
|
38
|
+
puts STDIN.gets_to_end.count('\n')
|
26
39
|
else
|
27
|
-
res = `find
|
40
|
+
res = `find #{folder}`.count('\n') - 1
|
28
41
|
puts res
|
29
42
|
end
|
30
43
|
end
|
@@ -155,25 +168,25 @@ end
|
|
155
168
|
def gsubip(arg1, arg2, arg3)
|
156
169
|
regex = Regex.new(arg1)
|
157
170
|
text = File.read(arg3).gsub(/#{arg1}/m, arg2)
|
158
|
-
File.open(t = File.tempname(
|
171
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
|
159
172
|
h.print text
|
160
173
|
end
|
161
174
|
begin
|
162
175
|
File.rename t, arg3
|
163
176
|
rescue
|
164
|
-
|
177
|
+
File.delete t
|
165
178
|
end
|
166
179
|
end
|
167
180
|
|
168
181
|
def rip(arg1, arg2, arg3)
|
169
182
|
text = File.read(arg3).gsub(arg1, arg2)
|
170
|
-
File.open(t = File.tempname(
|
183
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
|
171
184
|
h.print text
|
172
185
|
end
|
173
186
|
begin
|
174
187
|
File.rename t, arg3
|
175
188
|
rescue
|
176
|
-
|
189
|
+
File.delete t
|
177
190
|
end
|
178
191
|
end
|
179
192
|
|
@@ -197,7 +210,7 @@ def swap(file1, file2)
|
|
197
210
|
[file1, file2].each do |f|
|
198
211
|
File.exists?(f) || abort("No file named #{f.dump}")
|
199
212
|
end
|
200
|
-
t = File.tempname(
|
213
|
+
t = File.tempname(CORE_UTIL_STRING, "_tmp")
|
201
214
|
|
202
215
|
File.rename file1, t
|
203
216
|
File.rename file2, file1
|
@@ -207,27 +220,27 @@ end
|
|
207
220
|
def prepend(file)
|
208
221
|
file_data = File.read(file)
|
209
222
|
new_data = STDIN.gets_to_end
|
210
|
-
File.open(t = File.tempname(
|
223
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
|
211
224
|
h << new_data + file_data
|
212
225
|
end
|
213
226
|
|
214
227
|
begin
|
215
228
|
File.rename t, file
|
216
229
|
rescue
|
217
|
-
|
230
|
+
File.delete t
|
218
231
|
end
|
219
232
|
end
|
220
233
|
|
221
234
|
def append(file)
|
222
235
|
file_data = File.read(file)
|
223
236
|
new_data = STDIN.gets_to_end
|
224
|
-
File.open(t = File.tempname(
|
237
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
|
225
238
|
h << file_data + new_data
|
226
239
|
end
|
227
240
|
begin
|
228
241
|
File.rename t, file
|
229
242
|
rescue
|
230
|
-
|
243
|
+
File.delete t
|
231
244
|
end
|
232
245
|
end
|
233
246
|
|
@@ -258,13 +271,19 @@ class Funcs
|
|
258
271
|
end
|
259
272
|
|
260
273
|
|
261
|
-
def main
|
262
|
-
|
274
|
+
def main
|
275
|
+
size = ARGV.size
|
276
|
+
|
277
|
+
if size != 1
|
263
278
|
Funcs.argument_data("nth", "[nth] [arguments]", "Nth gets the nth line from the input")
|
264
279
|
exit 1
|
265
280
|
end
|
266
281
|
|
267
|
-
|
282
|
+
begin
|
283
|
+
nth(ARGV[0]?)
|
284
|
+
rescue e : Exception
|
285
|
+
puts e
|
286
|
+
end
|
268
287
|
end
|
269
288
|
|
270
289
|
|
data/src/_compilation/nth_word
CHANGED
@@ -1,11 +1,24 @@
|
|
1
1
|
#!/usr/bin/crystal
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
CORE_UTIL_STRING = "core_utils"
|
4
|
+
|
5
|
+
def prepend_each(arg)
|
6
|
+
STDIN.each_line do |line|
|
7
|
+
puts arg + line
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
11
|
+
def append_each(arg)
|
12
|
+
STDIN.each_line do |line|
|
13
|
+
puts line + arg
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def delete(arg)
|
18
|
+
`find -name #{arg}`.each_line do |i|
|
19
|
+
File.delete(i)
|
20
|
+
end
|
21
|
+
end
|
9
22
|
|
10
23
|
def nth_word(arg)
|
11
24
|
i = arg.to_u64 - 1
|
@@ -20,11 +33,11 @@ def trim()
|
|
20
33
|
end
|
21
34
|
end
|
22
35
|
|
23
|
-
def lines()
|
36
|
+
def lines(folder = ".")
|
24
37
|
if !STDIN.tty?
|
25
|
-
puts STDIN.gets_to_end.count(
|
38
|
+
puts STDIN.gets_to_end.count('\n')
|
26
39
|
else
|
27
|
-
res = `find
|
40
|
+
res = `find #{folder}`.count('\n') - 1
|
28
41
|
puts res
|
29
42
|
end
|
30
43
|
end
|
@@ -155,25 +168,25 @@ end
|
|
155
168
|
def gsubip(arg1, arg2, arg3)
|
156
169
|
regex = Regex.new(arg1)
|
157
170
|
text = File.read(arg3).gsub(/#{arg1}/m, arg2)
|
158
|
-
File.open(t = File.tempname(
|
171
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
|
159
172
|
h.print text
|
160
173
|
end
|
161
174
|
begin
|
162
175
|
File.rename t, arg3
|
163
176
|
rescue
|
164
|
-
|
177
|
+
File.delete t
|
165
178
|
end
|
166
179
|
end
|
167
180
|
|
168
181
|
def rip(arg1, arg2, arg3)
|
169
182
|
text = File.read(arg3).gsub(arg1, arg2)
|
170
|
-
File.open(t = File.tempname(
|
183
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
|
171
184
|
h.print text
|
172
185
|
end
|
173
186
|
begin
|
174
187
|
File.rename t, arg3
|
175
188
|
rescue
|
176
|
-
|
189
|
+
File.delete t
|
177
190
|
end
|
178
191
|
end
|
179
192
|
|
@@ -197,7 +210,7 @@ def swap(file1, file2)
|
|
197
210
|
[file1, file2].each do |f|
|
198
211
|
File.exists?(f) || abort("No file named #{f.dump}")
|
199
212
|
end
|
200
|
-
t = File.tempname(
|
213
|
+
t = File.tempname(CORE_UTIL_STRING, "_tmp")
|
201
214
|
|
202
215
|
File.rename file1, t
|
203
216
|
File.rename file2, file1
|
@@ -207,27 +220,27 @@ end
|
|
207
220
|
def prepend(file)
|
208
221
|
file_data = File.read(file)
|
209
222
|
new_data = STDIN.gets_to_end
|
210
|
-
File.open(t = File.tempname(
|
223
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
|
211
224
|
h << new_data + file_data
|
212
225
|
end
|
213
226
|
|
214
227
|
begin
|
215
228
|
File.rename t, file
|
216
229
|
rescue
|
217
|
-
|
230
|
+
File.delete t
|
218
231
|
end
|
219
232
|
end
|
220
233
|
|
221
234
|
def append(file)
|
222
235
|
file_data = File.read(file)
|
223
236
|
new_data = STDIN.gets_to_end
|
224
|
-
File.open(t = File.tempname(
|
237
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
|
225
238
|
h << file_data + new_data
|
226
239
|
end
|
227
240
|
begin
|
228
241
|
File.rename t, file
|
229
242
|
rescue
|
230
|
-
|
243
|
+
File.delete t
|
231
244
|
end
|
232
245
|
end
|
233
246
|
|
@@ -258,13 +271,19 @@ class Funcs
|
|
258
271
|
end
|
259
272
|
|
260
273
|
|
261
|
-
def main
|
262
|
-
|
274
|
+
def main
|
275
|
+
size = ARGV.size
|
276
|
+
|
277
|
+
if size != 1
|
263
278
|
Funcs.argument_data("nth_word", "[nth_word] [arguments]", "nth_word gets the nth word of each line\n\nFor example\n\nnth_word 3\n\ngets the 3rd word of each line")
|
264
279
|
exit 1
|
265
280
|
end
|
266
281
|
|
267
|
-
|
282
|
+
begin
|
283
|
+
nth_word(ARGV[0]?)
|
284
|
+
rescue e : Exception
|
285
|
+
puts e
|
286
|
+
end
|
268
287
|
end
|
269
288
|
|
270
289
|
|
data/src/_compilation/prepend
CHANGED
@@ -1,11 +1,24 @@
|
|
1
1
|
#!/usr/bin/crystal
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
CORE_UTIL_STRING = "core_utils"
|
4
|
+
|
5
|
+
def prepend_each(arg)
|
6
|
+
STDIN.each_line do |line|
|
7
|
+
puts arg + line
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
11
|
+
def append_each(arg)
|
12
|
+
STDIN.each_line do |line|
|
13
|
+
puts line + arg
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def delete(arg)
|
18
|
+
`find -name #{arg}`.each_line do |i|
|
19
|
+
File.delete(i)
|
20
|
+
end
|
21
|
+
end
|
9
22
|
|
10
23
|
def nth_word(arg)
|
11
24
|
i = arg.to_u64 - 1
|
@@ -20,11 +33,11 @@ def trim()
|
|
20
33
|
end
|
21
34
|
end
|
22
35
|
|
23
|
-
def lines()
|
36
|
+
def lines(folder = ".")
|
24
37
|
if !STDIN.tty?
|
25
|
-
puts STDIN.gets_to_end.count(
|
38
|
+
puts STDIN.gets_to_end.count('\n')
|
26
39
|
else
|
27
|
-
res = `find
|
40
|
+
res = `find #{folder}`.count('\n') - 1
|
28
41
|
puts res
|
29
42
|
end
|
30
43
|
end
|
@@ -155,25 +168,25 @@ end
|
|
155
168
|
def gsubip(arg1, arg2, arg3)
|
156
169
|
regex = Regex.new(arg1)
|
157
170
|
text = File.read(arg3).gsub(/#{arg1}/m, arg2)
|
158
|
-
File.open(t = File.tempname(
|
171
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
|
159
172
|
h.print text
|
160
173
|
end
|
161
174
|
begin
|
162
175
|
File.rename t, arg3
|
163
176
|
rescue
|
164
|
-
|
177
|
+
File.delete t
|
165
178
|
end
|
166
179
|
end
|
167
180
|
|
168
181
|
def rip(arg1, arg2, arg3)
|
169
182
|
text = File.read(arg3).gsub(arg1, arg2)
|
170
|
-
File.open(t = File.tempname(
|
183
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(arg3).permissions) do |h|
|
171
184
|
h.print text
|
172
185
|
end
|
173
186
|
begin
|
174
187
|
File.rename t, arg3
|
175
188
|
rescue
|
176
|
-
|
189
|
+
File.delete t
|
177
190
|
end
|
178
191
|
end
|
179
192
|
|
@@ -197,7 +210,7 @@ def swap(file1, file2)
|
|
197
210
|
[file1, file2].each do |f|
|
198
211
|
File.exists?(f) || abort("No file named #{f.dump}")
|
199
212
|
end
|
200
|
-
t = File.tempname(
|
213
|
+
t = File.tempname(CORE_UTIL_STRING, "_tmp")
|
201
214
|
|
202
215
|
File.rename file1, t
|
203
216
|
File.rename file2, file1
|
@@ -207,27 +220,27 @@ end
|
|
207
220
|
def prepend(file)
|
208
221
|
file_data = File.read(file)
|
209
222
|
new_data = STDIN.gets_to_end
|
210
|
-
File.open(t = File.tempname(
|
223
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
|
211
224
|
h << new_data + file_data
|
212
225
|
end
|
213
226
|
|
214
227
|
begin
|
215
228
|
File.rename t, file
|
216
229
|
rescue
|
217
|
-
|
230
|
+
File.delete t
|
218
231
|
end
|
219
232
|
end
|
220
233
|
|
221
234
|
def append(file)
|
222
235
|
file_data = File.read(file)
|
223
236
|
new_data = STDIN.gets_to_end
|
224
|
-
File.open(t = File.tempname(
|
237
|
+
File.open(t = File.tempname(CORE_UTIL_STRING, "_tmp"), "w", File.info(file).permissions) do |h|
|
225
238
|
h << file_data + new_data
|
226
239
|
end
|
227
240
|
begin
|
228
241
|
File.rename t, file
|
229
242
|
rescue
|
230
|
-
|
243
|
+
File.delete t
|
231
244
|
end
|
232
245
|
end
|
233
246
|
|
@@ -258,13 +271,19 @@ class Funcs
|
|
258
271
|
end
|
259
272
|
|
260
273
|
|
261
|
-
def main
|
262
|
-
|
274
|
+
def main
|
275
|
+
size = ARGV.size
|
276
|
+
|
277
|
+
if size != 1
|
263
278
|
Funcs.argument_data("prepend", "[prepend] [arguments]", "prepend prepends input taken from the standard input to a file\n\nUsage\n\nprepend [file]\n\nThis is text to be prepended")
|
264
279
|
exit 1
|
265
280
|
end
|
266
281
|
|
267
|
-
|
282
|
+
begin
|
283
|
+
prepend(ARGV[0]?)
|
284
|
+
rescue e : Exception
|
285
|
+
puts e
|
286
|
+
end
|
268
287
|
end
|
269
288
|
|
270
289
|
|