ਬੈਸ਼ ਵਿੱਚ ਸਟ੍ਰਿੰਗ ਹੇਰਾਫੇਰੀ ਨੂੰ ਤੋੜਨਾ
ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟਾਂ ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ, ਇੱਕ ਆਮ ਕੰਮ ਇੱਕ ਸੀਮਾਕਾਰ ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ ਸਤਰ ਨੂੰ ਵੰਡਣਾ ਹੁੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਸੈਮੀਕੋਲਨ ਦੁਆਰਾ ਵੱਖ ਕੀਤੇ ਈਮੇਲ ਪਤਿਆਂ ਵਾਲੀ ਇੱਕ ਸਤਰ 'ਤੇ ਵਿਚਾਰ ਕਰੋ। ਜੇਕਰ ਤੁਹਾਨੂੰ ਹਰੇਕ ਈਮੇਲ 'ਤੇ ਵਿਅਕਤੀਗਤ ਤੌਰ 'ਤੇ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਇਹ ਸਮਝਣਾ ਜ਼ਰੂਰੀ ਹੋ ਜਾਂਦਾ ਹੈ ਕਿ ਇਸ ਸਤਰ ਨੂੰ ਕਿਵੇਂ ਵੰਡਣਾ ਹੈ। ਇਹ ਲੇਖ ਤੁਹਾਨੂੰ Bash ਵਿੱਚ ਇਸ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਦੁਆਰਾ ਮਾਰਗਦਰਸ਼ਨ ਕਰੇਗਾ.
ਅਸੀਂ ਹੱਲਾਂ ਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ ਜਿਵੇਂ ਕਿ `tr` ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਅਤੇ ਇੰਟਰਨਲ ਫੀਲਡ ਸੇਪਰੇਟਰ (IFS) ਨਾਲ ਹੇਰਾਫੇਰੀ ਕਰਨਾ। ਅੰਤ ਤੱਕ, ਤੁਸੀਂ ਸਟ੍ਰਿੰਗ ਸਪਲਿਟਿੰਗ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਸੰਭਾਲਣ ਦੇ ਯੋਗ ਹੋਵੋਗੇ ਅਤੇ IFS ਨੂੰ ਇਸਦੇ ਡਿਫੌਲਟ ਮੁੱਲ 'ਤੇ ਰੀਸੈਟ ਕਰ ਸਕੋਗੇ। ਆਉ ਅੰਦਰ ਡੁਬਕੀ ਕਰੀਏ ਅਤੇ ਤੁਹਾਡੇ Bash ਸਕ੍ਰਿਪਟਿੰਗ ਕਾਰਜਾਂ ਨੂੰ ਸਰਲ ਬਣਾਈਏ!
| ਹੁਕਮ | ਵਰਣਨ |
|---|---|
| tr | ਅੱਖਰਾਂ ਦਾ ਅਨੁਵਾਦ ਜਾਂ ਮਿਟਾਉਂਦਾ ਹੈ। ਇੱਥੇ ਸਟਰਿੰਗ ਨੂੰ ਵੰਡਣ ਲਈ ਇੱਕ ਨਵੀਂ ਲਾਈਨ ਅੱਖਰ ਨਾਲ ਸੈਮੀਕੋਲਨ ਨੂੰ ਬਦਲਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
| IFS | ਅੰਦਰੂਨੀ ਫੀਲਡ ਵਿਭਾਜਕ, Bash ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਇੱਕ ਖਾਸ ਡੈਲੀਮੀਟਰ ਦੇ ਅਧਾਰ ਤੇ ਸਤਰ ਨੂੰ ਵੰਡਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
| read -r -a | ਇੰਪੁੱਟ ਦੀ ਇੱਕ ਲਾਈਨ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਐਰੇ ਵਿੱਚ ਵੰਡਦਾ ਹੈ। -r ਵਿਕਲਪ ਬੈਕਸਲੈਸ਼ਾਂ ਨੂੰ ਬਚਣ ਵਾਲੇ ਅੱਖਰਾਂ ਵਜੋਂ ਵਿਆਖਿਆ ਕੀਤੇ ਜਾਣ ਤੋਂ ਰੋਕਦਾ ਹੈ। |
| echo | ਮਿਆਰੀ ਆਉਟਪੁੱਟ ਲਈ ਟੈਕਸਟ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ। ਸਪਲਿਟ ਸਤਰ ਤੱਤਾਂ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
| split | ਇੱਕ ਪਰਲ ਫੰਕਸ਼ਨ ਜੋ ਇੱਕ ਸਟ੍ਰਿੰਗ ਨੂੰ ਇੱਕ ਨਿਰਧਾਰਤ ਡੈਲੀਮੀਟਰ ਦੇ ਅਧਾਰ ਤੇ ਸਟ੍ਰਿੰਗਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਵੰਡਦਾ ਹੈ। |
| foreach | ਇੱਕ ਪਰਲ ਲੂਪ ਬਣਤਰ ਜੋ ਮੁੱਲਾਂ ਦੀ ਸੂਚੀ ਉੱਤੇ ਦੁਹਰਾਉਂਦਾ ਹੈ। |
ਬੈਸ਼ ਸਟ੍ਰਿੰਗ ਸਪਲਿਟਿੰਗ ਤਕਨੀਕਾਂ ਨੂੰ ਸਮਝਣਾ
ਪਹਿਲੀ ਬੈਸ਼ ਸਕ੍ਰਿਪਟ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ ਕਿਵੇਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਸਟ੍ਰਿੰਗ ਨੂੰ ਵੰਡਣਾ ਹੈ tr ਹੁਕਮ. ਇੱਥੇ, ਅਸੀਂ ਇੱਕ ਸਤਰ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਾਂ IN="bla@some.com;john@home.com" ਅਤੇ ਵਰਤੋ echo ਨਾਲ ਜੋੜ ਕੇ tr ਸੈਮੀਕੋਲਨ ਡੀਲੀਮੀਟਰ ਨੂੰ ਇੱਕ ਨਵੀਂ ਲਾਈਨ ਅੱਖਰ ਵਿੱਚ ਅਨੁਵਾਦ ਕਰਨ ਲਈ। ਇਹ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਸਤਰ ਨੂੰ ਵਿਅਕਤੀਗਤ ਲਾਈਨਾਂ ਵਿੱਚ ਤੋੜ ਦਿੰਦਾ ਹੈ। ਦ for ਲੂਪ ਫਿਰ ਹਰ ਲਾਈਨ ਉੱਤੇ ਦੁਹਰਾਉਂਦਾ ਹੈ, ਪਤਿਆਂ ਨੂੰ ਵਰਗ ਬਰੈਕਟਾਂ ਵਿੱਚ ਛਾਪਦਾ ਹੈ। ਇਹ ਵਿਧੀ ਸਿੱਧੀ ਹੈ ਅਤੇ ਸਟ੍ਰਿੰਗਾਂ ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰਨ ਲਈ ਯੂਨਿਕਸ ਕਮਾਂਡਾਂ ਦੀਆਂ ਸ਼ਕਤੀਸ਼ਾਲੀ ਟੈਕਸਟ ਪ੍ਰੋਸੈਸਿੰਗ ਸਮਰੱਥਾਵਾਂ ਦਾ ਲਾਭ ਉਠਾਉਂਦੀ ਹੈ।
ਇੱਕ ਹੋਰ ਵਿਧੀ ਵਿੱਚ ਐਡਜਸਟ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ Internal Field Separator (IFS). ਅਸਥਾਈ ਤੌਰ 'ਤੇ ਸੈੱਟ ਕਰਕੇ IFS ਇੱਕ ਸੈਮੀਕੋਲਨ ਵਿੱਚ, ਅਸੀਂ ਸਟ੍ਰਿੰਗ ਨੂੰ ਇੱਕ ਐਰੇ ਵਿੱਚ ਵੰਡ ਸਕਦੇ ਹਾਂ। ਅਸੀਂ ਅਸਲੀ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਦੇ ਹਾਂ IFS ਨੂੰ OIFS ਇਸ ਨੂੰ ਸੋਧਣ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਅਸੀਂ ਇਸਨੂੰ ਬਾਅਦ ਵਿੱਚ ਰੀਸਟੋਰ ਕਰ ਸਕਦੇ ਹਾਂ। ਦ read -r -a ਕਮਾਂਡ ਇੱਕ ਐਰੇ ਵਿੱਚ ਇੰਪੁੱਟ ਸਤਰ ਪੜ੍ਹਦੀ ਹੈ ਜਿਸਨੂੰ ਕਹਿੰਦੇ ਹਨ mails2, ਸੋਧੇ ਹੋਏ ਦੇ ਆਧਾਰ 'ਤੇ ਇਸ ਨੂੰ ਵੰਡਣਾ IFS. ਪ੍ਰੋਸੈਸਿੰਗ ਤੋਂ ਬਾਅਦ, ਅਸਲੀ IFS ਬਹਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਹ ਪਹੁੰਚ Bash ਵਿੱਚ ਸਟ੍ਰਿੰਗ ਸਪਲਿਟਿੰਗ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਇੱਕ ਹੋਰ ਪ੍ਰੋਗਰਾਮੇਟਿਕ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਸਾਨੂੰ ਹੋਰ ਹੇਰਾਫੇਰੀ ਲਈ ਐਰੇ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮਿਲਦੀ ਹੈ।
ਡੈਲੀਮੀਟਰ 'ਤੇ ਸਟ੍ਰਿੰਗਾਂ ਨੂੰ ਵੰਡਣ ਲਈ ਬੈਸ਼ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਬੈਸ਼ ਸਕ੍ਰਿਪਟ
#!/usr/bin/env bash# Input stringIN="bla@some.com;john@home.com"# Split string using 'tr' and iteratemails=$(echo $IN | tr ";" "\n")for addr in $mails; doecho "> [$addr]"done# Output:# > [bla@some.com]# > [john@home.com]
IFS ਦੀ ਵਰਤੋਂ ਕਰਕੇ Bash ਵਿੱਚ ਇੱਕ ਸਟ੍ਰਿੰਗ ਨੂੰ ਵੰਡਣਾ
ਬੈਸ਼ ਸਕ੍ਰਿਪਟ
#!/usr/bin/env bash# Input stringIN="bla@some.com;john@home.com"# Save the original IFSOIFS=$IFS# Set IFS to semicolonIFS=';'# Split string into an arrayread -r -a mails2 <<< "$IN"# Restore the original IFSIFS=$OIFS# Iterate over the arrayfor x in "${mails2[@]}"; doecho "> [$x]"done# Output:# > [bla@some.com]# > [john@home.com]
ਸਟ੍ਰਿੰਗ ਸਪਲਿਟਿੰਗ ਲਈ ਪਾਈਥਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ
#!/usr/bin/env python3# Input stringIN = "bla@some.com;john@home.com"# Split string by semicolonmails = IN.split(';')# Iterate and print each elementfor addr in mails:print(f"> [{addr}]")# Output:# > [bla@some.com]# > [john@home.com]
ਇੱਕ ਸਤਰ ਨੂੰ ਵੰਡਣ ਲਈ ਪਰਲ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਪਰਲ ਸਕ੍ਰਿਪਟ
#!/usr/bin/env perluse strict;use warnings;# Input stringmy $IN = "bla@some.com;john@home.com";# Split string by semicolonmy @mails = split(';', $IN);# Iterate and print each elementforeach my $addr (@mails) {print "> [$addr]\n";}# Output:# > [bla@some.com]# > [john@home.com]
Bash ਵਿੱਚ ਐਡਵਾਂਸਡ ਸਟ੍ਰਿੰਗ ਸਪਲਿਟਿੰਗ ਤਕਨੀਕਾਂ
ਬੈਸ਼ ਵਿੱਚ ਸਟਰਿੰਗਾਂ ਨੂੰ ਵੰਡਣ ਦਾ ਇੱਕ ਹੋਰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਤਰੀਕਾ ਹੈ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ awk ਹੁਕਮ. awk ਪੈਟਰਨ ਸਕੈਨਿੰਗ ਅਤੇ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਤਿਆਰ ਕੀਤੀ ਗਈ ਇੱਕ ਬਹੁਮੁਖੀ ਕਮਾਂਡ-ਲਾਈਨ ਉਪਯੋਗਤਾ ਹੈ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਸਟ੍ਰਿੰਗਾਂ ਨੂੰ ਵੰਡਣ ਲਈ ਲਾਭਦਾਇਕ ਹੋ ਸਕਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਾਨੂੰ ਕਸਟਮ ਫੀਲਡ ਵਿਭਾਜਕਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਅਸੀਂ ਵਰਤ ਸਕਦੇ ਹਾਂ awk -F";" '{print $1, $2}' ਸੈਮੀਕੋਲਨ ਡੀਲੀਮੀਟਰ ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ ਸਟ੍ਰਿੰਗ ਨੂੰ ਵੰਡਣ ਅਤੇ ਵਿਅਕਤੀਗਤ ਭਾਗਾਂ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰਨ ਲਈ। ਇਹ ਵਿਧੀ ਬਹੁਤ ਲਚਕਦਾਰ ਹੈ ਅਤੇ ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਸਟ੍ਰਿੰਗ ਹੇਰਾਫੇਰੀ ਕਾਰਜਾਂ ਨੂੰ ਸੰਭਾਲ ਸਕਦੀ ਹੈ, ਇਸ ਨੂੰ ਬੈਸ਼ ਪ੍ਰੋਗਰਾਮਰ ਦੀ ਟੂਲਕਿੱਟ ਵਿੱਚ ਇੱਕ ਕੀਮਤੀ ਸੰਦ ਬਣਾਉਂਦੀ ਹੈ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਦ cut ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਡੈਲੀਮੀਟਰਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਸਤਰ ਨੂੰ ਵੰਡਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਦ cut ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਆਮ ਤੌਰ 'ਤੇ ਇਨਪੁਟ ਡੇਟਾ ਦੀ ਹਰੇਕ ਲਾਈਨ ਤੋਂ ਭਾਗਾਂ ਨੂੰ ਕੱਢਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਦੇ ਨਾਲ ਇੱਕ ਡੀਲੀਮੀਟਰ ਨਿਰਧਾਰਤ ਕਰਕੇ -d ਵਿਕਲਪ ਅਤੇ ਨਾਲ ਖੇਤਰਾਂ ਦੀ ਚੋਣ ਕਰਨਾ -f ਵਿਕਲਪ, ਅਸੀਂ ਕੁਸ਼ਲਤਾ ਨਾਲ ਇੱਕ ਸਤਰ ਦੇ ਭਾਗਾਂ ਨੂੰ ਵੰਡ ਅਤੇ ਐਕਸਟਰੈਕਟ ਕਰ ਸਕਦੇ ਹਾਂ। ਉਦਾਹਰਨ ਲਈ, ਵਰਤ echo $IN | cut -d';' -f1 ਇਨਪੁਟ ਸਤਰ ਤੋਂ ਪਹਿਲਾ ਈਮੇਲ ਪਤਾ ਕੱਢੇਗਾ। ਇਹ ਉੱਨਤ ਵਿਧੀਆਂ Bash ਵਿੱਚ ਸਟ੍ਰਿੰਗ ਹੇਰਾਫੇਰੀ ਕਾਰਜਾਂ ਲਈ ਵਧੇਰੇ ਨਿਯੰਤਰਣ ਅਤੇ ਸ਼ੁੱਧਤਾ ਪ੍ਰਦਾਨ ਕਰਦੀਆਂ ਹਨ।
ਬਾਸ਼ ਵਿੱਚ ਸਟ੍ਰਿੰਗ ਸਪਲਿਟਿੰਗ ਬਾਰੇ ਆਮ ਸਵਾਲ ਅਤੇ ਜਵਾਬ
- ਮੈਂ ਬਾਸ਼ ਵਿੱਚ ਇੱਕ ਡੀਲੀਮੀਟਰ 'ਤੇ ਇੱਕ ਸਤਰ ਨੂੰ ਕਿਵੇਂ ਵੰਡ ਸਕਦਾ ਹਾਂ?
- ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ IFS ਵੇਰੀਏਬਲ ਜਾਂ ਕਮਾਂਡਾਂ ਵਰਗੇ tr, awk, ਅਤੇ cut ਇੱਕ ਡੀਲੀਮੀਟਰ 'ਤੇ ਤਾਰਾਂ ਨੂੰ ਵੰਡਣ ਲਈ।
- ਕੀ ਹੁੰਦਾ ਹੈ IFS Bash ਵਿੱਚ ਵੇਰੀਏਬਲ?
- ਦ IFS (ਅੰਦਰੂਨੀ ਫੀਲਡ ਸੇਪਰੇਟਰ) ਇੱਕ ਵਿਸ਼ੇਸ਼ ਵੇਰੀਏਬਲ ਹੈ ਜੋ ਇਨਪੁਟ ਟੈਕਸਟ ਨੂੰ ਸ਼ਬਦਾਂ ਜਾਂ ਟੋਕਨਾਂ ਵਿੱਚ ਵੰਡਣ ਲਈ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਅੱਖਰ(ਆਂ) ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ।
- ਮੈਂ ਨੂੰ ਕਿਵੇਂ ਰੀਸੈਟ ਕਰ ਸਕਦਾ ਹਾਂ IFS ਇਸਦੇ ਮੂਲ ਮੁੱਲ ਲਈ ਵੇਰੀਏਬਲ?
- ਅਸਲੀ ਨੂੰ ਸੰਭਾਲੋ IFS ਇਸ ਨੂੰ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਮੁੱਲ, ਅਤੇ ਪ੍ਰੋਸੈਸਿੰਗ ਤੋਂ ਬਾਅਦ ਇਸਨੂੰ ਰੀਸਟੋਰ ਕਰੋ: OIFS=$IFS; IFS=';'; ... ; IFS=$OIFS.
- ਕੀ ਕਰਦਾ ਹੈ tr ਸਟਰਿੰਗ ਸਪਲਿਟਿੰਗ ਵਿੱਚ ਕਮਾਂਡ ਕਰੋ?
- ਦ tr ਕਮਾਂਡ ਅੱਖਰਾਂ ਦਾ ਅਨੁਵਾਦ ਜਾਂ ਮਿਟਾਉਂਦੀ ਹੈ। ਇਹ ਇੱਕ ਸਤਰ ਨੂੰ ਵੰਡਣ ਲਈ ਸੀਮਾਕਾਰਾਂ ਨੂੰ ਨਵੀਆਂ ਲਾਈਨਾਂ ਨਾਲ ਬਦਲ ਸਕਦਾ ਹੈ: echo $IN | tr ";" "\n".
- ਕੀ ਮੈਂ ਬੈਸ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਸਟ੍ਰਿੰਗ ਨੂੰ ਇੱਕ ਐਰੇ ਵਿੱਚ ਵੰਡ ਸਕਦਾ ਹਾਂ?
- ਹਾਂ, ਨੂੰ ਬਦਲ ਕੇ IFS ਵੇਰੀਏਬਲ ਅਤੇ ਵਰਤੋਂ read -r -a, ਤੁਸੀਂ ਇੱਕ ਸਤਰ ਨੂੰ ਇੱਕ ਐਰੇ ਵਿੱਚ ਵੰਡ ਸਕਦੇ ਹੋ: read -r -a array <<< "$string".
- ਕੀ ਹੁੰਦਾ ਹੈ awk ਲਈ ਵਰਤਿਆ ਹੁਕਮ?
- awk ਪੈਟਰਨ ਸਕੈਨਿੰਗ ਅਤੇ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਇੱਕ ਕਮਾਂਡ-ਲਾਈਨ ਉਪਯੋਗਤਾ ਹੈ। ਇਹ ਕਸਟਮ ਫੀਲਡ ਵਿਭਾਜਕਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਕੇ ਸਤਰ ਨੂੰ ਵੰਡ ਸਕਦਾ ਹੈ।
- ਕਿਵੇਂ ਕਰਦਾ ਹੈ cut ਹੁਕਮ ਦਾ ਕੰਮ?
- ਦ cut ਕਮਾਂਡ ਇਨਪੁਟ ਦੀ ਹਰੇਕ ਲਾਈਨ ਤੋਂ ਭਾਗਾਂ ਨੂੰ ਕੱਢਦੀ ਹੈ। ਇਹ ਇੱਕ ਡੀਲੀਮੀਟਰ ਨਿਰਧਾਰਤ ਕਰਕੇ ਅਤੇ ਖੇਤਰਾਂ ਦੀ ਚੋਣ ਕਰਕੇ ਸਤਰ ਨੂੰ ਵੰਡ ਸਕਦਾ ਹੈ: echo $string | cut -d';' -f1.
- ਕਿਉਂ ਵਰਤ ਰਿਹਾ ਹੈ IFS ਸਤਰ ਵੰਡਣ ਵਿੱਚ ਮਦਦਗਾਰ?
- ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ IFS ਤੁਹਾਨੂੰ ਵੱਖ-ਵੱਖ ਇਨਪੁਟ ਫਾਰਮੈਟਾਂ ਲਈ ਬਹੁਮੁਖੀ ਬਣਾਉਂਦੇ ਹੋਏ, ਵੰਡਣ ਵਾਲੀਆਂ ਤਾਰਾਂ ਲਈ ਕਸਟਮ ਡੀਲੀਮੀਟਰਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
- ਕੀ Bash ਵਿੱਚ ਇੱਕ ਸਤਰ ਨੂੰ ਮਲਟੀਪਲ ਡੀਲੀਮੀਟਰਾਂ ਦੁਆਰਾ ਵੰਡਣਾ ਸੰਭਵ ਹੈ?
- ਹਾਂ, ਤੁਸੀਂ ਦੇ ਸੁਮੇਲ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ tr ਅਤੇ awk ਮਲਟੀਪਲ ਡੀਲੀਮੀਟਰਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ।
- ਕੀ ਮੈਂ ਵਰਤ ਸਕਦਾ ਹਾਂ sed Bash ਵਿੱਚ ਸਤਰ ਵੰਡਣ ਲਈ?
- ਜਦਕਿ sed ਮੁੱਖ ਤੌਰ 'ਤੇ ਇੱਕ ਸਟ੍ਰੀਮ ਐਡੀਟਰ ਹੈ, ਇਸ ਨੂੰ ਹੋਰ ਕਮਾਂਡਾਂ ਨਾਲ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ ਜਿਵੇਂ ਕਿ awk ਅਸਿੱਧੇ ਤੌਰ 'ਤੇ ਤਾਰਾਂ ਨੂੰ ਵੰਡਣ ਲਈ।
ਬੈਸ਼ ਵਿੱਚ ਸਟ੍ਰਿੰਗ ਸਪਲਿਟਿੰਗ ਬਾਰੇ ਅੰਤਿਮ ਵਿਚਾਰ
ਬਾਸ਼ ਵਿੱਚ ਸਟ੍ਰਿੰਗ ਹੇਰਾਫੇਰੀ ਵਿੱਚ ਮੁਹਾਰਤ ਹਾਸਲ ਕਰਨ ਨਾਲ ਤੁਹਾਡੀ ਸਕ੍ਰਿਪਟਿੰਗ ਕੁਸ਼ਲਤਾ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਸੁਧਾਰ ਹੋ ਸਕਦਾ ਹੈ। ਕੀ ਵਰਤ ਰਿਹਾ ਹੈ IFS ਸਧਾਰਨ ਸੀਮਾਕਾਰਾਂ ਜਾਂ ਹੋਰ ਉੱਨਤ ਸਾਧਨਾਂ ਲਈ ਜਿਵੇਂ ਕਿ tr ਅਤੇ awk, ਇਹ ਤਕਨੀਕ ਪ੍ਰਭਾਵਸ਼ਾਲੀ Bash ਪ੍ਰੋਗਰਾਮਿੰਗ ਲਈ ਜ਼ਰੂਰੀ ਹਨ। ਹਮੇਸ਼ਾ ਅਸਲੀ ਨੂੰ ਰੀਸਟੋਰ ਕਰਨਾ ਯਾਦ ਰੱਖੋ IFS ਤੁਹਾਡੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਅਚਾਨਕ ਵਿਵਹਾਰ ਤੋਂ ਬਚਣ ਲਈ। ਇਹਨਾਂ ਤਰੀਕਿਆਂ ਨਾਲ, ਤੁਸੀਂ ਆਪਣੀਆਂ Bash ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਸਟ੍ਰਿੰਗ ਪ੍ਰੋਸੈਸਿੰਗ ਕਾਰਜਾਂ ਦੀ ਇੱਕ ਵਿਸ਼ਾਲ ਸ਼੍ਰੇਣੀ ਨੂੰ ਸੰਭਾਲ ਸਕਦੇ ਹੋ।