ufos 1.0.82 → 1.0.88

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/CYCLE_OF_HEALTH +9 -15
  3. data/Makefile +1 -1
  4. data/README.md +54 -46
  5. data/VERSION_NUMBER +1 -1
  6. data/bin/append_each +0 -0
  7. data/bin/google_speak +4 -3
  8. data/bin/lines +0 -0
  9. data/bin/nth_word +0 -0
  10. data/bin/prepend_each +0 -0
  11. data/bin/rgsub +0 -0
  12. data/documentation/append_each +3 -0
  13. data/documentation/left_right.exe +1 -1
  14. data/documentation/page +41 -41
  15. data/documentation/prepend_each +3 -0
  16. data/gem_data/VERSION_NUMBER +1 -1
  17. data/index.html +57 -51
  18. data/install.sh +5 -1
  19. data/non_compiled_programs/google_speak +4 -3
  20. data/src/_compilation/abs +38 -19
  21. data/src/_compilation/add +38 -19
  22. data/src/_compilation/append +38 -19
  23. data/src/_compilation/append_each +290 -0
  24. data/src/_compilation/args +38 -19
  25. data/src/_compilation/delete +38 -19
  26. data/src/_compilation/div +38 -19
  27. data/src/_compilation/exp +38 -19
  28. data/src/_compilation/floor +38 -19
  29. data/src/_compilation/gsub +38 -19
  30. data/src/_compilation/gsubip +38 -19
  31. data/src/_compilation/last_nth +38 -19
  32. data/src/_compilation/lines +38 -19
  33. data/src/_compilation/mul +38 -19
  34. data/src/_compilation/nth +38 -19
  35. data/src/_compilation/nth_word +38 -19
  36. data/src/_compilation/prepend +38 -19
  37. data/src/_compilation/prepend_each +290 -0
  38. data/src/_compilation/rip +38 -19
  39. data/src/_compilation/rnip +38 -19
  40. data/src/_compilation/selectlines +38 -19
  41. data/src/_compilation/sub +38 -19
  42. data/src/_compilation/swap +38 -19
  43. data/src/_compilation/trim +38 -19
  44. data/src/programs/append_each +0 -0
  45. data/src/programs/lines +0 -0
  46. data/src/programs/prepend_each +0 -0
  47. data/src/rgsub +0 -0
  48. data/src/rgsub.c +24 -25
  49. data/src/src/Makefile +1 -1
  50. data/src/src/cd +3 -0
  51. data/src/src/code +30 -9
  52. data/src/src/functions.cr +29 -16
  53. data/src/src/mk +6 -8
  54. data/src/src/rm +1 -0
  55. metadata +12 -3
  56. data/src/src/q.cr +0 -9
  57. /data/images/{12.png → 8.png} +0 -0
data/src/_compilation/exp CHANGED
@@ -1,11 +1,24 @@
1
1
  #!/usr/bin/crystal
2
2
 
3
- def delete(arg)
4
- `find -name #{arg}`.each_line do |i|
5
- File.delete(i)
6
- end
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("\n")
38
+ puts STDIN.gets_to_end.count('\n')
26
39
  else
27
- res = `find .`.count("\n") - 1
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("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
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
- rm t
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("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
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
- rm t
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("coreutils", "_tmp")
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("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
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
- rm t
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("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
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
- rm t
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
- if ARGV.size != 0
274
+ def main
275
+ size = ARGV.size
276
+
277
+ if size > 0
263
278
  Funcs.argument_data("exp", "[exp] [arguments]", "exp is an exponentiation tool\n\n(echo 5; echo 3) | exp\n\n=> 125\n\n(echo 2; echo 10) | exp\n\n=> 1024")
264
279
  exit 1
265
280
  end
266
281
 
267
- exp
282
+ begin
283
+ exp
284
+ rescue e : Exception
285
+ puts e
286
+ end
268
287
  end
269
288
 
270
289
 
@@ -1,11 +1,24 @@
1
1
  #!/usr/bin/crystal
2
2
 
3
- def delete(arg)
4
- `find -name #{arg}`.each_line do |i|
5
- File.delete(i)
6
- end
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("\n")
38
+ puts STDIN.gets_to_end.count('\n')
26
39
  else
27
- res = `find .`.count("\n") - 1
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("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
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
- rm t
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("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
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
- rm t
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("coreutils", "_tmp")
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("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
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
- rm t
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("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
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
- rm t
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
- if ARGV.size != 0
274
+ def main
275
+ size = ARGV.size
276
+
277
+ if size > 0
263
278
  Funcs.argument_data("floor", "[floor] [arguments]", "Gets the floor of numbers e.g. 21.3 -> 21")
264
279
  exit 1
265
280
  end
266
281
 
267
- floor
282
+ begin
283
+ floor
284
+ rescue e : Exception
285
+ puts e
286
+ end
268
287
  end
269
288
 
270
289
 
@@ -1,11 +1,24 @@
1
1
  #!/usr/bin/crystal
2
2
 
3
- def delete(arg)
4
- `find -name #{arg}`.each_line do |i|
5
- File.delete(i)
6
- end
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("\n")
38
+ puts STDIN.gets_to_end.count('\n')
26
39
  else
27
- res = `find .`.count("\n") - 1
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("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
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
- rm t
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("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
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
- rm t
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("coreutils", "_tmp")
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("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
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
- rm t
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("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
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
- rm t
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
- if ARGV.size != 2
274
+ def main
275
+ size = ARGV.size
276
+
277
+ if size != 2
263
278
  Funcs.argument_data("gsub", "[gsub] [arguments]", "Gsub is very powerful.\n\nUsage\n\ngsub [regular expression] [replacement text] \n\nExample\n\ncat text | gsub man dog\n\ncat text | gsub 'man|boy|cat|dog' food\n\nls | gsub Desktop cat")
264
279
  exit 1
265
280
  end
266
281
 
267
- gsub(ARGV[0], ARGV[1])
282
+ begin
283
+ gsub(ARGV[0]?, ARGV[1]?)
284
+ rescue e : Exception
285
+ puts e
286
+ end
268
287
  end
269
288
 
270
289
 
@@ -1,11 +1,24 @@
1
1
  #!/usr/bin/crystal
2
2
 
3
- def delete(arg)
4
- `find -name #{arg}`.each_line do |i|
5
- File.delete(i)
6
- end
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("\n")
38
+ puts STDIN.gets_to_end.count('\n')
26
39
  else
27
- res = `find .`.count("\n") - 1
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("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
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
- rm t
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("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
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
- rm t
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("coreutils", "_tmp")
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("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
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
- rm t
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("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
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
- rm t
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
- if ARGV.size != 3
274
+ def main
275
+ size = ARGV.size
276
+
277
+ if size != 3
263
278
  Funcs.argument_data("gsubip", "[gsubip] [arguments]", "Global Substitute (Gsub) In Place\n\ngsubip is like gsub, which replaces all instances of a regular expression globally\n\n[regular expression 1] [regular expression 2] => result\n\nExample\n\ngsubip . FOO file\n\nWould make all characters in “file” become “FOO”\n\ngsubip cat dog file\n\nWould make all instances of “cat” “dog”\n\nIt is much cleaner than “sed.”\n\nYou don't need to have “sed” installed to run this program.\n\nIt doesn't read from the standard input\n\nIt takes exactly 3 arguments, no more, no fewer.\n\nSee also\n\ngsub")
264
279
  exit 1
265
280
  end
266
281
 
267
- gsubip(ARGV[0], ARGV[1], ARGV[2])
282
+ begin
283
+ gsubip(ARGV[0]?, ARGV[1]?, ARGV[2]?)
284
+ rescue e : Exception
285
+ puts e
286
+ end
268
287
  end
269
288
 
270
289
 
@@ -1,11 +1,24 @@
1
1
  #!/usr/bin/crystal
2
2
 
3
- def delete(arg)
4
- `find -name #{arg}`.each_line do |i|
5
- File.delete(i)
6
- end
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("\n")
38
+ puts STDIN.gets_to_end.count('\n')
26
39
  else
27
- res = `find .`.count("\n") - 1
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("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
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
- rm t
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("coreutils", "_tmp"), "w", File.info(arg3).permissions) do |h|
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
- rm t
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("coreutils", "_tmp")
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("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
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
- rm t
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("coreutils", "_tmp"), "w", File.info(file).permissions) do |h|
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
- rm t
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
- if ARGV.size != 1
274
+ def main
275
+ size = ARGV.size
276
+
277
+ if size != 1
263
278
  Funcs.argument_data("last_nth", "[last_nth] [arguments]", "Last nth gets the last n lines from input\n\nFor example\n\nlast_nth 3\n\n\nWould get the 3rd from the last line")
264
279
  exit 1
265
280
  end
266
281
 
267
- last_nth(ARGV[0])
282
+ begin
283
+ last_nth(ARGV[0]?)
284
+ rescue e : Exception
285
+ puts e
286
+ end
268
287
  end
269
288
 
270
289