BASH හි 'කැපීම' සමඟ 'ටැබ්' පරිසීමකය අර්ථ දක්වන්නේ කෙසේද?


248

cutඅවකාශ පරිමිතියක් භාවිතා කරමින් ක්ෂේත්‍රවලට ආදානය බිඳ දැමීම සහ දෙවන ක්ෂේත්‍රය ලබා ගැනීම පිළිබඳ උදාහරණයක් මෙන්න :

cut -f2 -d' '

අවකාශය වෙනුවට පරිසීමකය ටැබ් එකක් ලෙස අර්ථ දැක්විය හැක්කේ කෙසේද?


1
මුද්‍රණය කළ නොහැකි පරිසීමක සමඟ කප්පාදුව භාවිතා කිරීම (ස්ටැක් ඕවර්ෆ්ලෝ)
නොබාර්

4
ටැබ් යනු පෙරනිමි පරිසීමකයකි. cut -f 2
Melah

Answers:


339

ක්‍රම දෙකක්:

මාධ්ය Ctrl+ Vපසුව Tab.

cut -f2 -d'   ' infile

හෝ එය මේ ආකාරයට ලියන්න:

cut -f2 -d$'\t' infile

11
: '' - බැෂ්වාදය, AFAIR
poige

8
වින්ඩෝස් හි (උදා: Git Bash) ක්‍රියා නොකරයි. එහි මයිකල්ගේ පිළිතුර භාවිතා කරන්න (පෙරනිමි පරිසීමකය ටැබ් වේ, -dතර්කය මඟහරින්න ).
අහමඩ් ෆාසි


4
@poige, එය පැමිණෙන්නේ ksh93, නොව bash. එයට ksh93, zsh, bash, mksh සහ FreeBSD sh අවම වශයෙන් සහාය දක්වයි ( එය POSIX සම්මත පිරිවිතරයේ ඊළඟ ප්‍රධාන ආපසු හැරවීමට හේතු වේsh ).
ස්ටෙෆාන් චසෙලාස්

3
icmicurb එය ANSI-C උපුටා දැක්වීමකි: gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html
wisbucky

209

ටැබ් යනු පෙරනිමියයි.

බලන්න සැපයුම අත්හිටුවන man පිටුව .

-d delim
         Use delim as the field delimiter character instead of the tab
         character.

එබැවින් ඔබ ලිවිය යුතුය

cut -f 2

2
අපොයි ඒ රේඛාව දැක්කේ නැහැ.
මුහම්මද් හසන් ඛාන්

4
එහෙත් කියවීමේ හැකියාව සහ අතේ ගෙන යා හැකි බව යන දෙකම සඳහා එවැනි කොඩි පැහැදිලිව සඳහන් කිරීම සැමවිටම ආරක්ෂිත වේ. cutවින්ඩෝස් සඳහා නිර්මාණය කරන සමහර අය සම්පූර්ණ ප්‍රමිතිය අනුගමනය නොකරනු ඇතැයි මට සිතිය හැකිය .
විලෙම් වැන් ඔන්සෙම්

3
මෙය පිළිගත යුතු පිළිතුර: සරලම කේතය, සරලම පැහැදිලි කිරීම. ඇණ
ගැසුවා

7
මෙම පිළිතුර මගේ ජීවිතය වෙනස් කර ඇත
matheeeny

1
IleWillemVanOnsem, යමෙකු cutවින්ඩෝස් සඳහා අනුවාදයක් ලියා ඒ සඳහා POSIX පිරිවිතර අනුගමනය නොකරන්නේ නම්, ඕනෑම POSIX ස්ක්‍රිප්ටයක් එම පද්ධතිය සමඟ ක්‍රියා කරනු ඇතැයි උපකල්පනය කිරීමට හේතුවක් නැත . POSIX- විශේෂිත විශේෂාංග වලට ඇලී සිටින්න. උපකල්පිත අනාගත අනුකූල නොවන ක්‍රියාත්මක කිරීම් වලට ඉඩ දීමට උත්සාහ නොකරන්න; “අතේ ගෙන යා හැකි” යන්නෙහි තේරුම එය නොවේ.
වයිල්ඩ්කාඩ්

14
awk -F '\t' '{ print $2 }' inputfile

මෙය එක් එක් ආදාන පේළියේ දෙවන ටැබ්-වෙන් කළ ක්ෂේත්‍රය උපුටා ගනී inputfile.


10

අදෘශ්‍යමාන අක්ෂර අවශ්‍ය නොවී වඩාත් ත්‍යාගශීලීව: trපරිසීමක වඩාත් පහසුවෙන් නියම කළ හැකි ආකෘතියකට පරිවර්තනය කිරීමට භාවිතා කරන්න cut.

$ echo -e "a\tb\tc" |tr '\t' ' ' |cut -d' ' -f2
b

tr සරල, නමුත් බලවත්, අක්ෂර ගැලපීම් සහ ප්‍රතිස්ථාපන මෙවලමකි.


1
නමුත් ආදානය නම් abc(space)def(tab)ghiකුමක් කළ යුතුද? ඔබගේ පිළිතුර ලබා දෙනු ඇත def, නමුත් එය යටත් කළ යුතු ghi. ඒ හා සමානව, ආදානය නම් ABC(tab)DEF(space)GHI, ඔබේ පිළිතුර ලැබෙනු ඇත DEF, නමුත් එය ලැබිය යුතුය DEF(space)GHI.
ජී-මෑන් පවසන්නේ 'මොනිකා නැවත

@ ජී-මෑන්: අභ්‍යවකාශ පරිසීමකය උදාහරණයක් පමණි. ඔබගේ දත්ත සඳහා සුදුසු ඕනෑම පරිසීමකයක් භාවිතා කරන්න - උදාහරණයක් ලෙස කොමාව. echo -e "abc\tdef ghi" |tr '\t' ',' |cut -d',' -f2
නොබාර්

... නමුත්, ඔව්, පරිසීමකය ටැබ් එකක් විය යුතු නම්, එවිට මගේ ප්‍රවේශය ක්‍රියා නොකරනු ඇත.
නොබාර්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.