ಮುಂದಿನ ಲೇಖನದಲ್ಲಿ ನಾವು ಕೆಲವು ಮಾರ್ಗಗಳನ್ನು ನೋಡುತ್ತೇವೆ ಪಠ್ಯ ಫೈಲ್ಗಳಿಗೆ ಸಾಲು ಸಂಖ್ಯೆಗಳನ್ನು ಸೇರಿಸಿ ನಾವು ದೃಶ್ಯೀಕರಿಸುತ್ತೇವೆ ಟರ್ಮಿನಲ್. ನಿಮ್ಮ ಗ್ನು / ಲಿನಕ್ಸ್ ಪಠ್ಯ ಫೈಲ್ಗಳ ಪ್ರಮಾಣಿತ output ಟ್ಪುಟ್ಗೆ ಈ ಸಾಲು ಸಂಖ್ಯೆಗಳನ್ನು ಹೇಗೆ ಸೇರಿಸುವುದು ಎಂದು ನೀವು ಎಂದಾದರೂ ಯೋಚಿಸಿದ್ದಲ್ಲಿ, ಈ ಸಣ್ಣ ಲೇಖನವು ಅದನ್ನು ಮಾಡಲು ವಿಭಿನ್ನ ಮಾರ್ಗಗಳನ್ನು ವಿವರಿಸಲು ಪ್ರಯತ್ನಿಸಲಿದೆ.
ಪಠ್ಯ ಫೈಲ್ಗೆ ಸಾಲು ಸಂಖ್ಯೆಗಳನ್ನು ಸೇರಿಸಲು ಹಲವಾರು ಮಾರ್ಗಗಳಿವೆ. ಮುಂದೆ ನಾವು ಅದನ್ನು ಮಾಡಲು 6 ವಿಭಿನ್ನ ವಿಧಾನಗಳನ್ನು ನೋಡಲಿದ್ದೇವೆ. ನೀವು ಕೆಳಗೆ ನೋಡಲು ಸಾಧ್ಯವಾಗುವಂತಹವುಗಳ ಜೊತೆಗೆ, ಇನ್ನೂ ಕೆಲವು ಮಾರ್ಗಗಳಿವೆ ಎಂದು ನಾನು imagine ಹಿಸುತ್ತೇನೆ, ಆದರೆ ಪ್ರಾರಂಭಿಸಲು, ಇವುಗಳು ಸಾಕು.
ಪಠ್ಯ ಫೈಲ್ಗಳ ಪ್ರಮಾಣಿತ output ಟ್ಪುಟ್ಗೆ ಸಾಲು ಸಂಖ್ಯೆಗಳನ್ನು ಸೇರಿಸಿ
ಪ್ರಾರಂಭಿಸಲು, ನಾವು ಎಂಬ ಫೈಲ್ ಅನ್ನು ರಚಿಸಲಿದ್ದೇವೆ file.txt. ಅದರಲ್ಲಿ ನಾನು ವಿಷಯವನ್ನು ನೀಡಲು ಕೆಲವು ಸಾಲುಗಳನ್ನು ಸೇರಿಸುತ್ತೇನೆ, ಅದನ್ನು ಗುರುತಿಸಲಾಗುತ್ತದೆ. ನಾನು ಈಗ ರಚಿಸಿದ ಫೈಲ್ನ ವಿಷಯವನ್ನು ನೋಡಲು, ನಾವು ಟರ್ಮಿನಲ್ ಅನ್ನು ತೆರೆಯುತ್ತೇವೆ (Ctrl + Alt + T) ಮತ್ತು ಅದರಲ್ಲಿ ಬರೆಯುತ್ತೇವೆ:
cat archivo.txt
Nl ಆಜ್ಞೆಯನ್ನು ಬಳಸುವುದು
ಕ್ಯಾಟ್ ಆಜ್ಞೆಯ from ಟ್ಪುಟ್ನಿಂದ ನೋಡಬಹುದಾದಂತೆ, ಫೈಲ್ 10 ಸಾಲುಗಳನ್ನು ಹೊಂದಿದೆ, ಅವುಗಳಲ್ಲಿ ಮೂರು ಖಾಲಿಯಾಗಿವೆ. ನಾವು ಬಳಸಿ ಸಾಲು ಸಂಖ್ಯೆಗಳನ್ನು ಸೇರಿಸುತ್ತೇವೆ nl ಆಜ್ಞೆ. ಹಾಗೆ ಮಾಡಲು, ಚಲಾಯಿಸಿ:
nl archivo.txt
ಹಿಂದಿನ ಕ್ಯಾಪ್ಚರ್ನಲ್ಲಿ ಇದು ಕಂಡುಬರುವಂತೆ, nl ಆಜ್ಞೆಯು ಖಾಲಿ ರೇಖೆಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ. ಖಾಲಿ ಇಲ್ಲದ ಸಾಲುಗಳಿಗೆ ಸಂಖ್ಯೆಗಳನ್ನು ಸೇರಿಸಿ. ನೀವು ಬಯಸಿದರೆ ಎಲ್ಲಾ ಸಾಲುಗಳನ್ನು ಸಂಖ್ಯೆ ಮಾಡಿ, ಖಾಲಿ ರೇಖೆಗಳು ಸೇರಿದಂತೆ, ರನ್:
nl -b a archivo.txt
ಇದಲ್ಲದೆ, ಫಲಿತಾಂಶವನ್ನು ಓದುವಾಗ ಹೆಚ್ಚಿನ ಸ್ಪಷ್ಟತೆಗಾಗಿ, ನಾವು ಮಾಡಬಹುದು ಸಂಖ್ಯೆಗಳ ನಂತರ ಚಿಹ್ನೆಯನ್ನು ಸೇರಿಸಿ. ಉದಾಹರಣೆಗೆ, ಸಂಖ್ಯೆಗಳ ನಂತರ ಅವಧಿಯನ್ನು ಸೇರಿಸಲು, ರನ್ ಮಾಡಿ:
nl -s "." archivo.txt
ನೀವು ಬಯಸಬಹುದು output ಟ್ಪುಟ್ ಅಗಲವನ್ನು ಜೋಡಿಸಿ. ಹಾಗೆ ಮಾಡಲು, ಬಳಸಿ ವೇರಿಯಬಲ್ ಮೌಲ್ಯದೊಂದಿಗೆ -w ಆಯ್ಕೆ ಇದನ್ನು ಈ ಕೆಳಗಿನವುಗಳಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ:
nl -w3 archivo.txt
ಕ್ಯಾಟ್ ಆಜ್ಞೆಯನ್ನು ಬಳಸುವುದು
ಈ ಲೇಖನದ ಮೊದಲ ಸ್ಕ್ರೀನ್ಶಾಟ್ನಲ್ಲಿ ಕಂಡುಬರುವಂತೆ ಫೈಲ್ನ ವಿಷಯವನ್ನು ಪ್ರದರ್ಶಿಸಲು ಕ್ಯಾಟ್ ಆಜ್ಞೆಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಫೈಲ್ನ output ಟ್ಪುಟ್ಗೆ ನೀವು ಸಂಖ್ಯೆಗಳನ್ನು ಸೇರಿಸಲು ಬಯಸಿದರೆ, -n ಬಳಸಿ ಇದನ್ನು ಈ ಕೆಳಗಿನವುಗಳಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ:
cat -n archivo.txt
ನಿಮಗೆ ಆಸಕ್ತಿ ಇರಬಹುದು ಸ್ಟ್ಯಾಂಡರ್ಡ್ output ಟ್ಪುಟ್ ಅನ್ನು ಹೊಸ ಫೈಲ್ಗೆ ರವಾನಿಸಿ. ಹಾಗೆ ಮಾಡಲು, ಕೆಳಗೆ ತೋರಿಸಿರುವಂತೆ ನೀವು ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಬೇಕು:
cat -n archivo.txt > nuevoarchivo.txt
Awk ಆಜ್ಞೆಯನ್ನು ಬಳಸುವುದು
ಪಡೆದ ಫಲಿತಾಂಶಕ್ಕೆ ಇದು ಬಹುಶಃ ಅತ್ಯಂತ ಸಂಕೀರ್ಣ ವಿಧಾನವಾಗಿದೆ. ಕೂಡಿಸಲು awk ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಫೈಲ್ output ಟ್ಪುಟ್ಗೆ ಸಾಲು ಸಂಖ್ಯೆಗಳು, ಓಡು:
awk 'BEGIN{i=1} /.*/{printf "%d.% s\n",i,$0; i++}' archivo.txt
ನೀವು ನೋಡಿದಂತೆ, ನಾನು ನಿಯೋಜಿಸಿದ್ದೇನೆ BEGIN ನಿಯತಾಂಕದಲ್ಲಿ ಸಂಖ್ಯೆ 1 ಎಂದು ಪ್ರಾರಂಭಿಸಿ. ನಿಮ್ಮ ಆಯ್ಕೆಯ ಯಾವುದೇ ಆರಂಭಿಕ ಸಂಖ್ಯೆಯನ್ನು ನಾವು ನಿಯೋಜಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ 5, ಕೆಳಗೆ ನೋಡಬಹುದು:
awk 'BEGIN{i=5} /.*/{printf "%d.% s\n",i,$0; i++}' archivo.txt
ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಬಳಸಿ ನೀವು ಖಾಲಿ ಸಾಲುಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲು ಬಯಸದಿದ್ದರೆ:
awk 'BEGIN{i=0} {if($0 !~ /^$/) {printf ("%d.%s \n",i,$0); i++} else { print $0} } ' archivo.txt
ಮೇಲಿನ ಆಜ್ಞೆಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳುವುದು ಸ್ವಲ್ಪ ಕಷ್ಟ ಎಂದು ನೀವು ಭಾವಿಸಿದರೆ, ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಬಳಸಿ, ಅದು AWK ಆಜ್ಞೆಯೊಂದಿಗೆ ತೋರಿಸಿದ ಮೊದಲನೆಯ ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ:
awk '{ print FNR " " $0 }' archivo.txt
Sed ಆಜ್ಞೆಯನ್ನು ಬಳಸುವುದು
ಸೇರಿಸಲು sed ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರಮಾಣಿತ ಫೈಲ್ output ಟ್ಪುಟ್ಗೆ ಸಾಲು ಸಂಖ್ಯೆ, ಓಡು:
sed '/./=' archivo.txt | sed '/./N; s/\n/ /'
Sed ಆಜ್ಞೆಯು ಉಲ್ಲೇಖಿಸಲು ತಂಪಾದ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಹೊಂದಿದೆ. ನಾವು ಮಾಡಬಲ್ಲೆವು ಫೈಲ್ನಿಂದ ನಿರ್ದಿಷ್ಟ ಸಾಲನ್ನು ಪ್ರದರ್ಶಿಸಿ. ಉದಾಹರಣೆಗೆ, ನಮ್ಮ ಫೈಲ್ನ ಏಳನೇ ಸಾಲನ್ನು ಪ್ರದರ್ಶಿಸಲು, ರನ್ ಮಾಡಿ:
sed -n 7p archivo.txt
ಕಡಿಮೆ ಆಜ್ಞೆಯನ್ನು ಬಳಸುವುದು
ಪ್ಯಾರಾ ಕಡಿಮೆ ಬಳಸಿ ಫೈಲ್ನ ಪ್ರಮಾಣಿತ output ಟ್ಪುಟ್ಗೆ ಸಂಖ್ಯೆಯನ್ನು ಸೇರಿಸಿ, ಓಡು:
less -N archivo.txt
Grep ಆಜ್ಞೆಯನ್ನು ಬಳಸುವುದು
ನಿರ್ದಿಷ್ಟ ಪಠ್ಯವನ್ನು ಹೊಂದಿರುವ ರೇಖೆಯನ್ನು ಹುಡುಕಲು grep ಆಜ್ಞೆಯನ್ನು ಬಳಸಬಹುದು. ನೀವು ಬಯಸಿದರೆ ಹುಡುಕಿದ ಪಠ್ಯವನ್ನು ಒಳಗೊಂಡಿರುವ ಸಾಲುಗಳಿಗೆ ಸಾಲು ಸಂಖ್ಯೆಗಳನ್ನು ಸೇರಿಸಿ, ಓಡು:
grep -n "línea" archivo.txt
ಈ ಆಜ್ಞೆಯು ಹುಡುಕಾಟ ಸ್ಟ್ರಿಂಗ್ ಹೊಂದಿರುವ ಸಾಲುಗಳಿಗೆ ಮಾತ್ರ ಸಂಖ್ಯೆಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ. ಅಲ್ಲದೆ, ಸ್ಕ್ರೀನ್ಶಾಟ್ನಲ್ಲಿ ನೋಡಿದಂತೆ, ಅದು ಹುಡುಕಿದ ಪಠ್ಯವನ್ನು ಬಣ್ಣ ಮಾಡುತ್ತದೆ. ಕೊಟ್ಟಿರುವ ಫೈಲ್ನಲ್ಲಿ ಉಳಿದೆಲ್ಲವನ್ನೂ ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತದೆ.
ಮತ್ತು ಅದು ಇಲ್ಲಿದೆ, ನಾನು ಅದನ್ನು ಹೇಳಬೇಕಾಗಿದೆ ಈ ಆಜ್ಞೆಗಳು ಇತರ ಆಯ್ಕೆಗಳನ್ನು ಹೊಂದಿದ್ದು ಅವುಗಳು ಪೂರಕವಾಗಿ ಅಥವಾ ವಿಸ್ತರಿಸಬಹುದು ಈ ಲೇಖನದಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ. ಇಲ್ಲಿ ಹೆಸರಿಸಲಾದ ಆಜ್ಞೆಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನೀವು ಸಂಪರ್ಕಿಸಬಹುದು ಮನುಷ್ಯ ಪುಟಗಳು.
awk ಆಜ್ಞೆಗಳಲ್ಲಿ ನೀವು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳಿಗಾಗಿ ಹುಡುಕುವ ಅಗತ್ಯವಿಲ್ಲ "/.*/"
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಅದು ಈಗಾಗಲೇ ಫೈಲ್ ಅನ್ನು ಸಾಲುಗಳಾಗಿ ವಿಂಗಡಿಸುತ್ತದೆ ಮತ್ತು $ 0 ರೇಖೆಯನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಆದ್ದರಿಂದ
awk 'BEGIN {i = 1 {{printf "% 03d:% s \ n", i, $ 0; i ++ file 'file.txt
ಗಿಂತ ಒಂದೇ (ಮತ್ತು ಉತ್ತಮ) ಕೆಲಸ ಮಾಡುತ್ತದೆ
awk 'BEGIN {i = 1} /.*/ Leisprintf "% d.% s \ n", i, $ 0; i ++ file 'file.txt
ಅತ್ಯುತ್ತಮ ಕೊಡುಗೆ! ತುಂಬಾ ಧನ್ಯವಾದಗಳು!
ಸ್ನೇಹಪರ ಶುಭಾಶಯವನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು.
ಕೆಳಗಿನ ಸ್ಕ್ರಿಪ್ಟ್ನೊಂದಿಗೆ ನಾನು ಇಲ್ಲಿ ಸಮಸ್ಯೆಯನ್ನು ಹೊಂದಿದ್ದೇನೆ.
ಹುಡುಕಾಟಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುವ ರೇಖೆಗಳ ಮಾಹಿತಿಯನ್ನು ಫೈಲ್ನಿಂದ ಪಡೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ.
ಉದಾಹರಣೆ:
values = `awk -F«: »'{print $ 1» »$ 2» »$ 3 ho' hociporky | grep "201025" -n`
ನಂತರ ನೀವು ವೇರಿಯೇಬಲ್ ಮೂಲಕ ಪುನರಾವರ್ತಿಸಿ ನಂತರ ಫೈಲ್ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟ ರೇಖೆಯನ್ನು ನೋಡಿ.
ಉದಾಹರಣೆ:
$ ಮೌಲ್ಯಗಳಲ್ಲಿನ ಮೌಲ್ಯಕ್ಕಾಗಿ; ಮಾಡಿ
sed -n "$ {value} p" ಫೈಲ್
ಮಾಡಲಾಗುತ್ತದೆ
ಆದರೆ ಇದು ದೋಷವನ್ನು ಕಳುಹಿಸುತ್ತದೆ
sed: -e ಅಭಿವ್ಯಕ್ತಿ # 1, ಚಾರ್ 1: ಅಜ್ಞಾತ ಆಜ್ಞೆ: `
ಇದನ್ನು ಏಕೆ ಮತ್ತು ಹೇಗೆ ಪರಿಹರಿಸಬಹುದು ಎಂದು ಯಾರಾದರೂ ನನಗೆ ವಿವರಿಸಬಹುದೇ?