Repository navigation
Expand file tree
/
Copy pathShellScriptingNotes.txt
More file actions
842 lines (718 loc) · 36 KB
/
Copy pathShellScriptingNotes.txt
File metadata and controls
842 lines (718 loc) · 36 KB
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
#ShellScriptingNotes
============================[Actual commands]=========================================================
Create dummy files in a directory:
$ for ((i=1; i<=100; i++)); do echo "this system sux $i" >> "NewFiles_Season_1_Episode_$i.mkv"; done
$ for i in {1..6}; do echo "hello x $i" >> NewFiles_Season_1_Episode_${i}.mkv; done
Include leading '0' for single numbers:
$ for i in 0{1..9} {10..15}; do echo "this system sux $i" >> "A Pretty Good Program s01 e$i British TV Show.mkv"; done
Create 20 picture files where count starts from 300
num=300; for ((i=1; i<=20; i++)); do echo "test photo file $i" >> "DSC$(printf '%04d' $num).jpg"; ((num++)); done
Create dummy files in a directory with a date stamp:
$ now=$(date +"%m_%d_%Y"); for i in {1..6}; do echo "hello x $i" >> NewFiles_${now}_Season_1_Episode_${i}.mkv; done
$ now=$(date +"%Y%m%d"); for i in {1..100}; do echo "hello x $i" >> NewFiles_${now}_Season_1_Episode_${i}.mkv; done
Changing previous filename with sequential numbers:
$ num=1; for i in *; do mv "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done
$ num=1; for i in *; do mv "$i" "$(printf '%04d' $num).${i}"; ((num++)); done
Changing filenames for renaming photo's:
$ num=1; for i in *; do mv "$i" "$(printf '%04d' $num).DSC.${i#*.}"; ((num++)); done
$ now=$(date +"%m_%d_%Y"); num=1; for i in *; do mv "$i" "$(printf '%04d' $num)-DSC-${now}-Germany.${i#*.}"; ((num++)); done
Remove first "3" character from filenames;
$ for i in *; do echo $i "${i:3}"; done
$ for i in *; do mv $i "${i:3}"; done
$ for i in $(ls -v); do mv $i "${i:3}"; done
Remove 1st "5" characters from filename:
$ for i in $(ls -v); do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
$ for i in $(ls -v); do mv $i $(echo $i | sed 's/^.\{5\}//g'); done
Remove 1st "5" characters from filename:
$ for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6-`; done
$ for i in $(ls -v); do mv $i `echo $i | cut -c6-`; done
Using 'sed' to remove the first _ character in a filename:
$ for i in * ; do echo -e $i \\t $(echo $i |sed 's/_//'); done
$ for i in * ; do mv $i $(echo $i |sed 's/_//'); done
Using 'sed' to remove the first _ and preceding character in a filename:
$ for i in * ; do echo -e $i \\t $(echo $i |sed 's/._//'); done
$ for i in * ; do mv $i $(echo $i |sed 's/._//'); done
Using 'sed' to remove the first _ and preceding 2 characters in a filename:
$ for i in * ; do echo -e $i \\t $(echo $i |sed 's/.._//'); done
$ for i in * ; do mv $i $(echo $i |sed 's/.._//'); done
Using 'sed' to remove and replace:
$ for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/_/-/'); done
$ for i in $(ls -v) ; do mv $i $(echo $i |sed 's/_/-/'); done
Remove and replace the word "Season" with "Series" in a filename:
$ for i in $(ls -v) ; do mv $i $(echo $i |sed 's/Season/Series/'); done
Remove & replace 'all' (//) characters in a file:
$ for i in $(ls -v); do echo -e "$i" \\t "${i//_/ }"; done
$ for i in $(ls -v); do mv "$i" "${i//_/ }"; done
Adding string to beginning of all files:
$ for i in *; do mv "$i" "prefix_$i"; done;
$ for file in *; do mv $file new.${file%%}; done
$ for i in *; do mv "$i" "$(echo $i | sed 's/^/Prepend\ text\ \-\ /')"; done;
Adding string to end of filename, before extension:
$ for i in *.mkv; do mv $i $(printf '%s\n' ${i%.mkv}_newstring.mkv); done
Adding string to end of filename, after extension:
$ for i in *; do mv $i ${i}-old_version; done
Rename all files in a directory to a 4 digit sequential increasing numbers:
$ num=1; for i in *; do mv "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done
$ count=1; for i in $(ls -v); do mv $i "${count} $i"; ((count++)); done
display all files in a directory starting with c or p;
$ for i in [cp]*; do echo $i; done
For loop with two parameters ($1 and $2) in each [list] elements:
$ for planet in "Mercury 36" "Venus 67" "Earth 93" "Mars 142"; do set -- $planet; echo "$1 is $2,000,000 miles from the sun" ; done
Operating on a parameterized file list
set $ filename="*txt"
$ for i in $filename; do echo "Contents of $i"; echo "---"; cat "$i"; echo; done
Other Examples:
$ for planet in "Mer 36" "Ven 67"; do echo $planet; done
$ for planet in "Mer 36" "Ven 67"; do set -- $planet; done
$ for planet in "Mer 36" "Ven 67"; do set -- $planet echo "$1 $200,000 miles from the sun" ; done
$ for planet in "Mer 36" "Ven 67"; do set -- $planet; echo "$1 $200,000 miles from the sun" ; done; done
$ for planet in "Mer 36" "Ven 67"; do set -- $planet; echo "$1 $200,000 miles from the sun" ; done
$ for planet in "Mer 36" "Ven 67" "Ear 93" "Mars 142"; do set -- $planet; echo "$1 $2,000,000 miles from the sun" ; done
$ for planet in "Mer 36" "Ven 67" "Ear 93" "Mars 142"; do set -- $planet; echo "$1 is $2,000,000 miles from the sun" ; done
$ for planet in "Mercury 36" "Venus 67" "Earth 93" "Mars 142"; do set -- $planet; echo "$1 is $2,000,000 miles from the sun" ; done
Nested for loops:
$ for i in {0..3}; do for j in {0..9}; do echo -n \($i, $j\); echo Is today the $i$j \?; done; done
Changing Case:
First, rename all files to lower-case:
$ rename 'y/A-Z/a-z/' *
Second, make the first letter of each word Upper Case:
$ rename 's/(^|[\s_-])([a-z])/$1\u$2/g' *
-------GOOD----------------------------------
Create files with sequential numbers with leading 0's; 01-09
$ for i in 0{1..9} {10..15}; do echo "this system sux $i" >> "A Pretty Good Program s01 e$i British TV Show.mkv"; done
Add "prefix_" to the beginnng of a filename:
$ for i in *.mkv; do mv "$i" "prefix_$i"; done
Add "_suffix" to the end of a filename:
$ for i in *.mkv; do mv "${i}" "${i%.mkv}_suffix.mkv"; done
Rename end of a filename:
$ for i in *.mkv; do mv "$i" "${i/Show.mkv/NewShow.mkv}"; done
Find/Replace a string within a filename:
$ for i in *.mkv; do mv -i "${i}" "${i/British/English}"; done
$ for i in *.mkv; do mv "${i}" "${i/English/British}"; done
Remove the 10th character from "A Pretty Good Program s01 e01 British TV Show.mkv" to "A Pretty Good Program s01e01 British TV Show.mkv":
$ position=26; for i in *.mkv; do mv -- "$i" "${i:0:$position-1}${i:$position}"; done
Remove a set of characters within a filename from "A Pretty Good Program s01e15 British TV Show.mkv" to "A Prettod Program s01e15 British TV Show.mkv":
$ for i in *.mkv; do mv -- "$i" "${i::7}${i:11}"; done => {i::7} = set first 7 characters, {i:11} = keep everything AFTER the 11th character
Remove unwanted string at the end of a filename, from "A Pretty Good Program s01 e01 British TV Show.mkv" to "A Pretty Good Program s01e01 British.mkv"
$ for i in *.mkv; do mv "${i}" "${i/ TV Show/}"; done
Other:
Run multiple commands on a single line, loop through 3 times:
$ for i in {1..3}; do echo $i; ls -l ; date; whoami; pwd; chown *.*; done
If statement for checking whether 20th character is 'E':
$ for i in *.avi; do echo _; if [[ ${i:21:1} == E ]]; then echo YES; fi; done
If filename in dir contains the string "_suffix" then remove that string:
string=_suffix; for i in *.mkv; do if [[ ${i} = *$string* ]]; then mv "$i" "${i/_suffix/}"; fi; done
How many filenames in dir contains the string "-" and show file:
$ string=-; for i in *; do if [[ ${i} = *$string* ]]; then echo ${i}; fi; done
--------Audio Conversion-----------------------------------
Convert all Flac in a directory to Mp3 using maximum quality variable bitrate:
$ for file in *.flac; do flac -cd "$file" | lame -q 0 --vbr-new -V 0 - "${file%.flac}.mp3"; done
Convert all .flac from a folder subtree in 192Kb mp3:
$ find . -type f -iname '*.flac' | while read FILE; do FILENAME="${FILE%.*}"; flac -cd "$FILE" | lame -b 192 - "${FILENAME}.mp3"; done
Convert all flac files in a folder to mp3 files with a bitrate of 192 kbps:
$ for f in *; do flac -cd $f | lame -b 192 - $f.mp3; done
Convert wma to mp3@128k:
$ for f in *.wma; do ffmpeg -i "$f" -ab 128k "${f%.wma}.mp3" -ab 128K; done
Convert .wma files to .ogg with ffmpeg:
$ find -name '*wma' -exec ffmpeg -i {} -acodec vorbis -ab 128k {}.ogg \;
Convert .wma files to .mp3@192 with ffmpeg:
$ for f in *.wma; do ffmpeg -i "$f" -ab 192k "${f%.wma}.mp3" -ab 192K; done
Convert .wma files to .mp3@192 with lame:
$ for f in *; do wma -cd $f | lame -b 192 - $f.mp3; done
Create a variable bitrate(VBR) mp3 output:
$ mkdir newfile
$ for i in *.m4a; do ffmpeg -i "$i" -codec:v copy -codec:a libmp3lame -q:a 2 newfile/"${f%.m4a}.mp3"; done
Additional:
ffmpeg installation with Ubuntu Multimedia for Trusty
https://launchpad.net/~mc3man/+archive/ubuntu/trusty-media
Install Ubuntu restricted extras:
$ apt-get install ubuntu-restricted-extras
$ apt-get install mint-meta-codec
--------------------------------------------------------
--------Experiments-----------------------------------
NEED TO FIGURE OUT:
Replace all the . in a filename execpt the extension:
e.g. Show.it.real.steel.cars.series.3.01of13.atm.y.tow.720p.hdtv.mp4
----------------NOT COMPLETE--------------------------------
***This aims to read the file attributes of a file and appends the file creation date to the end
of the file. Currently reads the attribute for the first file, assigns the date to the $date variable
and adds that to the end of the entire file.
From:
NewFiles_20160917_Season_1_Episode_1.mkv
To:
filename = NewFiles_20160917_Season_1_Episode_1.mkv2016-09-17.mkv
This should needs to read the attribute for each file and then add to the end of the file before the extension. (From above)
Create files in directory:
$ now=$(date +"%Y%m%d"); for i in {1..6}; do echo "hello x $i" >> NewFiles_${now}_Season_1_Episode_${i}.mkv; done
Reading date attribute of a file and adding it to the end of the file:
$ date=$(ls -l $file_name | cut -c30-38); for i in *; do mv $i "$i${date}".mkv; done
$ date=$(stat -c %x NewFiles_20160917_Season_1_Episode_1.mkv | cut -c1-10); for i in *; do mv $i "$i${date}".mkv; done
----------------------------------------------------------------
===============[Temporary scratch area]=============================
Renaming picture files from a camera
now=$(date +"%Y%m%d"); for i in {1..6}; do echo "hello x $i" >> NewFiles_${now}_Season_1_Episode_${i}.mkv; done
date=$(stat -c %x NewFiles_20160917_Season_1_Episode_1.mkv.mkv | cut -c1-10); for i in *; do mv $i "$i${date}".mkv; done
-----><------> START: More new, work in progress not fully tested -----><------>
================NEW ands USEFUL======================
Create files with specific names:
$ for ((i=001; i<=100; i++)); do echo "this system sux $i" >> "DSC0000$i.jpg"; done
Create dummy files with specific names following the camera:
$ for i in {00001..00666}; do echo "hello x $i" >> "DSC${i}.jpg"; done
Create dummy files with specific names, for specific numbering on camera:
$ for ((i=1058; i<=1158; i++)); do echo "hello x $i" >> "DSC0$i.txt"; done
$ for i in {00001..00666}; do echo "hello x $i" >> "DSC${i}.jpg"; done
$ for i in {01059..01724}; do echo "hello x $i" >> "DSC${i}.jpg"; done
Rename all files in a folder from a specific file sequence number for camera:
$ num=1059; for i in *; do mv "$i" "DSC0$num.JPG"; ((num++)); done
===================TESTING==============================
=> create:
$ for i in {00001..00666}; do echo "hello x $i" >> "DSC${i}.JPG"; done
=> rename all files in a folder from a specific file sequence number:
$ num=1059; for i in *; do mv "$i" "DSC0$num.JPG"; ((num++)); done
================NEW ands USEFUL======================
Changing previous filename with sequential numbers:
$ num=1058; for i in *; do mv "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done
$ num=1; for i in *; do mv "$i" "$(printf '%04d' $num).${i}"; ((num++)); done
$ for i in *; do ls; done
01058
Changing filenames for renaming photo's:
$ num=1; for i in *; do mv "$i" "$(printf '%04d' $num).DSC.${i#*.}"; ((num++)); done
$ now=$(date +"%m_%d_%Y"); num=1; for i in *; do mv "$i" "$(printf '%04d' $num)-DSC-${now}-Germany.${i#*.}"; ((num++)); done
$ num=1; for i in *; do mv "$i" "$(printf '%04d' $num).DSC.${i#*.}"; ((num++)); done
-----><------> END: More new, work in progress not fully tested -----><------>
==========================================================
-----------History File Extracted:-----------------------------------
542 for i in $(ls -v); do echo $i $(i/Episode/Show); done
543 for i in $(ls -v); do echo $i ; done
544 ls
545 ls -l
546 for i in *; do echo $i
547 for i in *; do echo $i; done
548 for i in *; do echo $i ${i..3}; done
549 for i in *; do echo $i "${i..3}"; done
550 test=123456
551 echo $(test..3}
552 for i in *; do echo $i "${i:3}"; done
553 for i in *; do mv $i "${i:3}"; done
554 for i in *; do echo $i "${i:3}"; done
555 for i in $(ls -v); do echo $i "${i:3}"; done
556 for i in *; do echo $i "${i:3}"; done
557 for i in *; do echo $i ${i:3}; done
558 for i in *; do mv $i ${i:3}; done
559 for i in *; do echo $i ${i:3}; done
560 for i in *; do echo $i $(i/mkv/MKV); done
561 for i in *; do echo $i ${i/mkv/MKV}; done
562 for i in *; do mv $i ${i/mkv/MKV}; done
563 for i in *; do echo "$i" "${i/mkv/MKV}"; done
564 for i in *; do mv "$i" "${i/mkv/MKV}"; done
565 ls
566 for i in *; do mv "$i" "${i/MKV/mkv}"; done
567 ls
568 for i in *; do mv "$i" "${i:3}"; done
569 ls
570 ls -v
571 history
572 echo 'pid: 1234'| sed -r 's/^.{5}//'
573 for i in *; do echo "$i" | sed -r 's/^.{5}//'; done
574 for i in $(ls -v); do echo "$i" | sed -r 's/^.{5}//'; done
575 history | more
576 for i in $(ls -v); do mv $i "${count} $i"; ((count++)); done
577 for i in $(ls -v); do echo $i "${count} $i"; ((count++)); done
578 init 0
579 cd Java/shell/shell/
580 for i in {1..6}; do echo "hello $i" >> NewFile_$i.txt; done
581 ls
582 for i in {1..6}; do echo "hello $i" >> NewFile_$i.txt; done
583 ls
584 ls -l
585 mr File_.txt
586 ls -l
587 rm File_.txt
588 ls
589 ls -v
590 ls -l
591 ls
592 for i in {1..6}; do echo "hello $i" >> aNewFile_$i.txt; done
593 ls
594 for i in {1..6}; do echo "hello $i" >> File_$i_name.txt; done
595 ls
596 for i in * ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
597 for i in * ; do mv -e $i $(echo $i |sed 's/^.\{5\}//g'); done
598 for i in * ; do mv $i $(echo $i |sed 's/^.\{5\}//g'); done
599 ls
600 rm -rf *
601 for i in {1..10}; do echo "hello $i" >> File_$i_name.txt; done
602 for i in * ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
603 for i in {1..10}; do echo "hello $i" >> File_${i}_name.txt; done
604 ls
605 ls -l
606 ls -v
607 ls -lv
608 rm File_.txt
609 for i in $(ls -lv); do echo $i `echo $i | cut -c6-`; done
610 for i in $(ls -v); do echo $i `echo $i | cut -c6-`; done
611 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6-`; done
612 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c5-`; done
613 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6`; done
614 for i in $(ls -v); do echo -e $i \\t `echo $i | cut c6-`; done
615 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6-`; done
616 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -6-`; done
617 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6-`; done
618 history
619 for i in * ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
620 for i in * ; do echo -e $i \\t $(echo $i |sed 's/._/-'); done
621 for i in * ; do echo -e $i \\t $(echo $i |sed 's/._//'); done
622 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/._//'); done
623 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/_//'); done
624 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/_/-/'); done
625 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/_/ /'); done
626 ls
627 ls -l
628 for i in $(ls -v); do echo -e "$i" \\t "${i//_/ }"; done
629 for i in $(ls -v); do echo -e "$i" \\t "${i//_/-}"; done
630 for i in $(ls -v); do echo -e "$i" \\t "${i//e/i}"; done
631 for i in $(ls -v); do echo -e "$i" \\t "${i//_/ }"; done
632 init 0
633 ls
634 cd Java
635 cd shell
636 ls
637 mkdir shell
638 cd shell
639 for i in (1..6); do echo $i; done
640 for ((i=1; i<=6; i++)); do echo $i; done
641 for ((i=1; i<=6; i++)); do echo $ifilename; done
642 for ((i=1; i<=6; i++)); do echo $i > filename.txt; done
643 ls
644 cat filename.txt
645 for ((i=1; i<=6; i++)); do echo $i; done
646 for ((i=1; i<=6; i++)); do echo $i_; done
647 for ((i=1; i<=6; i++)); do echo $(i_filename); done
648 for ((i=1; i<=6; i++)); do echo ${i_filename}; done
649 rm filename.txt
650 for i in {1..6}; do echo hello > "File_$i_name.txt; done
651 for i in {1..6}; do echo hello > "File_$i_name.txt"; done
652 ls
653 cat File_.txt
654 for i in {1..6}; do echo hello > File_$i_name.txt; done
655 ls
656 history | more
657 for i in {1..6}; do echo "hello" > File_$i_name.txt; done
658 ls
659 for i in {1..6}; do echo "hello" >> File_$i_name.txt; done
660 ls
661 for i in {1..6}; do echo "hello" >> File_$i_name.txt; done
662 ls
663 for i in {1..6}; do echo "hello" >> File_$i_name.txt; done
664 ls
665 for i in {1..6}; do echo "hello" >> "File_$i_name.txt"; done
666 ls
667 for i in {1..6}; do echo hello >> "File_$i_name.txt"; done
668 ls
669 rm File_.txt
670 ls
671 for i in {1..6}; do echo hello >> "File_${i}_name.txt"; done
672 ls
673 cd Java/shell/shell
674 for i in * ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
675 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
676 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6-`; done
677 for i in * ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
678 for i in * ; do echo -e $i \\t $(echo $i |sed 's/._/-'); done
679 for i in * ; do echo -e $i \\t $(echo $i |sed 's/._//'); done
680 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/._//'); done
681 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/_/-/'); done
682 for i in $(ls -v); do echo -e "$i" \\t "${i//_/ }"; done
683 cd Java/shell/shell
684 ls
685 history
686 init 0
687 cd Java/shell/shell
688 for planet in "Mer 36" "Ven 67"; do echo $planet; done
689 for planet in "Mer 36" "Ven 67"; do set -- $planet; done
690 for planet in "Mer 36" "Ven 67"; do set -- $planet echo "$1 $200,000 miles from the sun" ; done
691 for planet in "Mer 36" "Ven 67"; do set -- $planet; echo "$1 $200,000 miles from the sun" ; done; done
692 for planet in "Mer 36" "Ven 67"; do set -- $planet; echo "$1 $200,000 miles from the sun" ; done
693 for planet in "Mer 36" "Ven 67" "Ear 93" "Mars 142"; do set -- $planet; echo "$1 $2,000,000 miles from the sun" ; done
694 for planet in "Mer 36" "Ven 67" "Ear 93" "Mars 142"; do set -- $planet; echo "$1 is $2,000,000 miles from the sun" ; done
695 for planet in "Mercury 36" "Venus 67" "Earth 93" "Mars 142"; do set -- $planet; echo "$1 is $2,000,000 miles from the sun" ; done
696 echo $planets
697 echo $planet
698 FILES=~/
699 echo $FILES
700 ls $FILES
701 for file in $FILES; do echo $FILES; done
702 $DIR=~/, ~/fakedir
703 $DIR=~/ ~/fakedir
704 $DIR="~/, ~/fakedir"
705 pwd
706 for i in *; do echo $i; done
707 for i in $(ls -v); do echo $i; done
708 for i in $(ls -v); do echo $i; if [ ! -e "$i" ] the echo "$i" does not exist."; done
709 for i in $(ls -v); do echo $i; if [ ! -e "$i" ] the echo "$i does not exist."; done
710 filename="*mkv"
711 for i in $filename; do echo "contents of $i" echo "---" cat "$i"; done
712 ls
713 filename="*txt"
714 echo $filename
715 for i in $filename; do echo "contents of $i" echo "---" cat "$i"; done
716 ls -l
717 cat File_1_name.txt
718 for i in $filename; do echo "contents of $i" echo "---" cat "$i"; done
719 for i in $filename; do echo "contents of $i" echo "---"; cat "$i"; done
720 for i in $filename; do echo "contents of $i"; echo "---"; cat "$i"; done
721 for i in $filename; do echo "contents of $i"; echo "---"; cat "$i"; echo; done
722 for i in $filename; do echo "Contents of $i"; echo "---"; cat "$i"; echo; done
723 for i in *; do ls -lv "$file"; done
724 echo $file
725 for i in *; do ls -lv "$file"; done
726 for i in *; do ls -lv "$file"; for file in [EI]*; do echo $file; done
727 for i in *; do ls -lv "$file"; for j in [EI]*; do echo $j; done
728 for i in *; do ls -lv "$file"; for j in *; do echo $j; done
729 for i in *; do ls -lv "$file"; for file in *; do echo $file; done
730 for i in *; do ls -lv "$file"; for file in *; do echo $file; done ; done
731 for i in *; do ls -lv "$file"; for file in [EI]*; do echo $file; done ; done
732 for i in *; do ls -lv "$file"; for file in *; do echo $file; done ; done
733 ls
734 cat foo >> poo.txt
735 echo foo >> cat poo.txt
736 ls
737 echo foo >> poo.txt
738 ls
739 for i in [cp]*; do echo $i; done
740 dir="."
741 echo $dir
-----more history for sudo
510 ls
511 for ((i=1; i<=100; i++)); do echo "this system sux $i" >> NewFiles_Season_1_Episode_$i.mkv"; done
512 for ((i=1; i<=100; i++)); do echo "this system sux $i" >> NewFiles_Season_1_Episode_$i.mkv; done
513 ls -v
514 ls
515 count=1
516 for i in $(ls -v); do echo $i ${count}_$i; ((count++)); done
517 for i in $(ls -v); do echo $i "${count} $i"; ((count++)); done
518 for i in $(ls -v); do mv $i "${count} $i"; ((count++)); done
519 ls
520 for i in $(ls -v); do echo $i ${i/Season/Series}; done
521 for i in $(ls -v); do echo -e $i \\t ${i/Season/Series}; done
522 for i in $(ls -v); do echo -e $i \\t \\t ${i/Season/Series}; done
523 for i in $(ls -v); do echo -e $i \\t \\r \\t ${i/Season/Series}; done
524 for i in $(ls -v); do echo $i ${i/Season/Series}; done
525 ls -v
526 for i in $(ls -v); do echo $i ${i:4}; done
527 for i in $(ls -v); do echo $i \\t ${i:4}; done
528 for i in $(ls -v); do echo $i \\t ${i:1}; done
529 for i in $(ls -v); do echo $i; done
530 for i in $(ls -v); do echo "$i"; done
531 for i in $(ls -v); do echo `$i`; done
532 for i in $(ls -v); do echo ${i}; done
533 for i in $(ls -v); do echo $i; done
534 ls -l
535 init 0
536 pwd
537 ls
538 cd Java
539 ls
540 cd shell
541 ls
542 for i in $(ls -v); do echo $i $(i/Episode/Show); done
543 for i in $(ls -v); do echo $i ; done
544 ls
545 ls -l
546 for i in *; do echo $i
547 for i in *; do echo $i; done
548 for i in *; do echo $i ${i..3}; done
549 for i in *; do echo $i "${i..3}"; done
550 test=123456
551 echo $(test..3}
552 for i in *; do echo $i "${i:3}"; done
553 for i in *; do mv $i "${i:3}"; done
554 for i in *; do echo $i "${i:3}"; done
555 for i in $(ls -v); do echo $i "${i:3}"; done
556 for i in *; do echo $i "${i:3}"; done
557 for i in *; do echo $i ${i:3}; done
558 for i in *; do mv $i ${i:3}; done
559 for i in *; do echo $i ${i:3}; done
560 for i in *; do echo $i $(i/mkv/MKV); done
561 for i in *; do echo $i ${i/mkv/MKV}; done
562 for i in *; do mv $i ${i/mkv/MKV}; done
563 for i in *; do echo "$i" "${i/mkv/MKV}"; done
564 for i in *; do mv "$i" "${i/mkv/MKV}"; done
565 ls
566 for i in *; do mv "$i" "${i/MKV/mkv}"; done
567 ls
568 for i in *; do mv "$i" "${i:3}"; done
569 ls
570 ls -v
571 history
572 echo 'pid: 1234'| sed -r 's/^.{5}//'
573 for i in *; do echo "$i" | sed -r 's/^.{5}//'; done
574 for i in $(ls -v); do echo "$i" | sed -r 's/^.{5}//'; done
575 history | more
576 for i in $(ls -v); do mv $i "${count} $i"; ((count++)); done
577 for i in $(ls -v); do echo $i "${count} $i"; ((count++)); done
578 init 0
579 cd Java/shell/shell/
580 for i in {1..6}; do echo "hello $i" >> NewFile_$i.txt; done
581 ls
582 for i in {1..6}; do echo "hello $i" >> NewFile_$i.txt; done
583 ls
584 ls -l
585 mr File_.txt
586 ls -l
587 rm File_.txt
588 ls
589 ls -v
590 ls -l
591 ls
592 for i in {1..6}; do echo "hello $i" >> aNewFile_$i.txt; done
593 ls
594 for i in {1..6}; do echo "hello $i" >> File_$i_name.txt; done
595 ls
596 for i in * ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
597 for i in * ; do mv -e $i $(echo $i |sed 's/^.\{5\}//g'); done
598 for i in * ; do mv $i $(echo $i |sed 's/^.\{5\}//g'); done
599 ls
600 rm -rf *
601 for i in {1..10}; do echo "hello $i" >> File_$i_name.txt; done
602 for i in * ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
603 for i in {1..10}; do echo "hello $i" >> File_${i}_name.txt; done
604 ls
605 ls -l
606 ls -v
607 ls -lv
608 rm File_.txt
609 for i in $(ls -lv); do echo $i `echo $i | cut -c6-`; done
610 for i in $(ls -v); do echo $i `echo $i | cut -c6-`; done
611 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6-`; done
612 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c5-`; done
613 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6`; done
614 for i in $(ls -v); do echo -e $i \\t `echo $i | cut c6-`; done
615 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6-`; done
616 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -6-`; done
617 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6-`; done
618 history
619 for i in * ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
620 for i in * ; do echo -e $i \\t $(echo $i |sed 's/._/-'); done
621 for i in * ; do echo -e $i \\t $(echo $i |sed 's/._//'); done
622 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/._//'); done
623 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/_//'); done
624 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/_/-/'); done
625 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/_/ /'); done
626 ls
627 ls -l
628 for i in $(ls -v); do echo -e "$i" \\t "${i//_/ }"; done
629 for i in $(ls -v); do echo -e "$i" \\t "${i//_/-}"; done
630 for i in $(ls -v); do echo -e "$i" \\t "${i//e/i}"; done
631 for i in $(ls -v); do echo -e "$i" \\t "${i//_/ }"; done
632 init 0
633 ls
634 cd Java
635 cd shell
636 ls
637 mkdir shell
638 cd shell
639 for i in (1..6); do echo $i; done
640 for ((i=1; i<=6; i++)); do echo $i; done
641 for ((i=1; i<=6; i++)); do echo $ifilename; done
642 for ((i=1; i<=6; i++)); do echo $i > filename.txt; done
643 ls
644 cat filename.txt
645 for ((i=1; i<=6; i++)); do echo $i; done
646 for ((i=1; i<=6; i++)); do echo $i_; done
647 for ((i=1; i<=6; i++)); do echo $(i_filename); done
648 for ((i=1; i<=6; i++)); do echo ${i_filename}; done
649 rm filename.txt
650 for i in {1..6}; do echo hello > "File_$i_name.txt; done
651 for i in {1..6}; do echo hello > "File_$i_name.txt"; done
652 ls
653 cat File_.txt
654 for i in {1..6}; do echo hello > File_$i_name.txt; done
655 ls
656 history | more
657 for i in {1..6}; do echo "hello" > File_$i_name.txt; done
658 ls
659 for i in {1..6}; do echo "hello" >> File_$i_name.txt; done
660 ls
661 for i in {1..6}; do echo "hello" >> File_$i_name.txt; done
662 ls
663 for i in {1..6}; do echo "hello" >> File_$i_name.txt; done
664 ls
665 for i in {1..6}; do echo "hello" >> "File_$i_name.txt"; done
666 ls
667 for i in {1..6}; do echo hello >> "File_$i_name.txt"; done
668 ls
669 rm File_.txt
670 ls
671 for i in {1..6}; do echo hello >> "File_${i}_name.txt"; done
672 ls
673 cd Java/shell/shell
674 for i in * ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
675 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
676 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6-`; done
677 for i in * ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
678 for i in * ; do echo -e $i \\t $(echo $i |sed 's/._/-'); done
679 for i in * ; do echo -e $i \\t $(echo $i |sed 's/._//'); done
680 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/._//'); done
681 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/_/-/'); done
682 for i in $(ls -v); do echo -e "$i" \\t "${i//_/ }"; done
683 cd Java/shell/shell
684 ls
685 history
686 init 0
687 cd Java/shell/shell
688 for planet in "Mer 36" "Ven 67"; do echo $planet; done
689 for planet in "Mer 36" "Ven 67"; do set -- $planet; done
690 for planet in "Mer 36" "Ven 67"; do set -- $planet echo "$1 $200,000 miles from the sun" ; done
691 for planet in "Mer 36" "Ven 67"; do set -- $planet; echo "$1 $200,000 miles from the sun" ; done; done
692 for planet in "Mer 36" "Ven 67"; do set -- $planet; echo "$1 $200,000 miles from the sun" ; done
693 for planet in "Mer 36" "Ven 67" "Ear 93" "Mars 142"; do set -- $planet; echo "$1 $2,000,000 miles from the sun" ; done
694 for planet in "Mer 36" "Ven 67" "Ear 93" "Mars 142"; do set -- $planet; echo "$1 is $2,000,000 miles from the sun" ; done
695 for planet in "Mercury 36" "Venus 67" "Earth 93" "Mars 142"; do set -- $planet; echo "$1 is $2,000,000 miles from the sun" ; done
696 echo $planets
697 echo $planet
698 FILES=~/
699 echo $FILES
700 ls $FILES
701 for file in $FILES; do echo $FILES; done
702 $DIR=~/, ~/fakedir
703 $DIR=~/ ~/fakedir
704 $DIR="~/, ~/fakedir"
705 pwd
706 for i in *; do echo $i; done
707 for i in $(ls -v); do echo $i; done
708 for i in $(ls -v); do echo $i; if [ ! -e "$i" ] the echo "$i" does not exist."; done
709 for i in $(ls -v); do echo $i; if [ ! -e "$i" ] the echo "$i does not exist."; done
710 filename="*mkv"
711 for i in $filename; do echo "contents of $i" echo "---" cat "$i"; done
712 ls
713 filename="*txt"
714 echo $filename
715 for i in $filename; do echo "contents of $i" echo "---" cat "$i"; done
716 ls -l
717 cat File_1_name.txt
718 for i in $filename; do echo "contents of $i" echo "---" cat "$i"; done
719 for i in $filename; do echo "contents of $i" echo "---"; cat "$i"; done
720 for i in $filename; do echo "contents of $i"; echo "---"; cat "$i"; done
721 for i in $filename; do echo "contents of $i"; echo "---"; cat "$i"; echo; done
722 for i in $filename; do echo "Contents of $i"; echo "---"; cat "$i"; echo; done
723 for i in *; do ls -lv "$file"; done
724 echo $file
725 for i in *; do ls -lv "$file"; done
726 for i in *; do ls -lv "$file"; for file in [EI]*; do echo $file; done
727 for i in *; do ls -lv "$file"; for j in [EI]*; do echo $j; done
728 for i in *; do ls -lv "$file"; for j in *; do echo $j; done
729 for i in *; do ls -lv "$file"; for file in *; do echo $file; done
730 for i in *; do ls -lv "$file"; for file in *; do echo $file; done ; done
731 for i in *; do ls -lv "$file"; for file in [EI]*; do echo $file; done ; done
732 for i in *; do ls -lv "$file"; for file in *; do echo $file; done ; done
733 ls
734 cat foo >> poo.txt
735 echo foo >> cat poo.txt
802 ls -l
803 ls | wc -l
804 count=1
805 echo $count
806 for i in $(ls -v); do echo $i "${count} $i"; ((count++)); done
807 cd /home/notroot/Java/shell
808 ls
809 for i in $(ls -v); do echo $1; done
810 ls
811 for i in $(ls -v); do echo $i; done
812 mkdir newdir
813 ls -l
814 chown notroot:notroot *.*
815 ls -l
816 chown notroot:notroot shell/
817 chown notroot:notroot newdir/
818 cd newdir
819 ls
820 ls -l
821 ls -v
822 ls -lv
823 for i in $(ls -v); do echo $i; done
824 for i in $(ls -v); do echo -e $i; done
825 for i in $(ls -v); do echo $i; done
826 for i in $(ls -v); do echo $i $i; done
827 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/^.\{5\}//g'); done
828 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/^.\{1\}//g'); done
829 for i in $(ls -v); do echo -e $i \\t `echo $i | cut -c6-`; done
830 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/._//'); done
831 filename="*txt"
832 for i in $filename; do echo "Contents of $i"; echo "---"; cat "$i"; echo; done
833 filename="*mkv"
834 echo $filename
835 for i in $filename; do echo "Contents of $i"; echo "---"; cat "$i"; echo; done
836 ls
837 ls -l
838 ls -lv
839 for i in $(ls -v); do echo $i; done
840 for i in $(ls -v); do echo -e $i \\t ${i/Season/Series}; done
841 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/"NewFiles_Series_1_Episode_"/"DSC00"/'); done
842 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/-/_/'); done
843 for i in $(ls -v); do echo -e "$i" \\t "${i//_/ }"; done
844 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/_/-/'); done
845 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/NewFile/DSC/'); done
846 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/NewFiles_Season_1_Episode_/DSC/'); done
847 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/NewFiles_Season_1_Episode_/DSC00/'); done
848 for i in $(ls -v) ; do echo -e $i \\t $(echo $i |sed 's/NewFiles_Season_1_Episode_/DSC_00/'); done
849 for i in $(ls -v) ; do mv -e $i \\t $(echo $i |sed 's/NewFiles_Season_1_Episode_/DSC_00/'); done
850 for i in $(ls -v) ; do cp -e $i \\t $(echo $i |sed 's/NewFiles_Season_1_Episode_/DSC_00/'); done
851 for i in $(ls -v) ; do mv $i \\t $(echo $i |sed 's/NewFiles_Season_1_Episode_/DSC_00/'); done
852 ls
853 for i in $(ls -v) ; do mv $i $(echo $i |sed 's/NewFiles_Season_1_Episode_/DSC_00/'); done
854 for i in $(ls -v); mv $i $i.jpg; done
855 for i in $(ls -v); do mv $i $i.jpg; done
856 for i in $(ls -v); do mv $i $i; done
857 for i in $(ls -v); do cp $i $i; done
858 for i in *; do cp $i $i; done
859 for i in *; do cp $i $i.jpg; done
860 for i in *.mkv; do mv -v -- "$i" "${i%.mkv}.jpg; done
861 for i in *.mkv; do mv -v -- "$i" "${i%.mkv}.jpg"; done
862 ls
863 for i in $(ls -v) ; do mv -v -- "$i" \\t "$(echo $i |sed 's/_/-/')"; done
864 num=1; for i in *; do mv "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done
865 ls
866 num=1; for i in *; do mv "$i" "$(printf '%04d' $num).${DSC0i#*.}"; ((num++)); done
867 ls
868 num=1; for i in *; do mv "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done
869 ls
870 rm *.*
871 ls
872 ls -l
873 num=1; for i in $(ls -v); do mv "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done
874 num=1; for i in *; do mv "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done
875 num=1; for i in "$(ls -v)"; do mv "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done
876 ls
877 rm *
878 ls
879 num=1; for i in *; do echo "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done
880 num=1; for i in *; do echo "$i" "$i(printf '%04d' $num).${i#*.}"; ((num++)); done
881 num=1; for i in *; do echo "$i" "$(printf '%14d' $num).${i#*.}"; ((num++)); done
882 num=1; for i in *; do echo "$i" "$(printf '%04d' $num).${i#*.}"; ((num++)); done
883 num=1; for i in *; do echo "$i" "$(printf '%05d' $num).${i#*.}"; ((num++)); done
884 num=1; for i in *; do echo "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); done
885 num=1; for i in *; do echo "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); donenum=1; for i in `$(ls -v)`; do echo "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); done
886 num=1; for i in "$(ls -v)"; do echo "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); done
887 ls
888 ls -l
889 num=1; for i in "$(ls -v)"; do echo "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); done
890 num=1; for i in $(ls -v); do echo "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); done
891 num=1; for i in $(ls -v); do mv "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); done
892 for i in $(ls -v); do mv $i "${count} $i"; ((count++)); done
893 for i in $(ls -v); do echo $i "${count} $i"; ((count++)); done
894 num=1; for i in $(ls -v); do echo "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); done
895 num=1; for i in {$(ls -v)}; do echo "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); done
896 num=1; for i in {$(ls -v)}; do mv "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); done
897 num=1; for i in *; do echo "$i" "$(printf 'DSC%05d' $num).${i#*.}"; ((num++)); done
898 for f in *' '*; do mv "$f" "`echo $f | sed -e 's/ /_/g'`"; done
899 ls
900 for x in *; do mv $x $(echo ${x%*.*}); done
901 ls
902 for i in * ; do mv $i $customname; done
903 ls
904 init 6
905 init 0
906 history >> sudo.history.txt
=============REFERENCE AND READING MATERIAL===================================
http://tldp.org/LDP/abs/html/