Linux:用shell如何实现读取一个字符串的第n个字符呢 awk如何替换一个字符串的第n个字符

\u5982\u679c\u4e00\u4e2a\u6587\u4ef6\u67091000\u4e2a\u5b57\u7b26\u5982\u4f55\u5728linux \u4e2d\u7528shell\u5b9e\u73b0\u4ece\u7b2c20\u4e2a\u5b57\u7b26\u8bfb\u53d610\u4e2a\u5b57\u7b26\u3002

\u6587\u4ef6\u770b\u6587\u4ef6\u662f\u4ec0\u4e48\u683c\u5f0f\uff0c\u5171\u51e0\u884c\uff0c\u5982\u679c\u8fd4\u56de\u7b2c\u4e00\u884c\u4e2d\u768420\u4e2a\u5b57\u7b26\u5f00\u59cb\u5f80\u540e10\u4e2a\u5b57\u7b26\u7684\u5185\u5bb9\uff1a
head -1 filename |awk '{print substr($0,20,10)}'

\u793a\u4f8b\uff1a

\u4e0a\u4f8b\u4e2d\u5c06\u7b2c\u516d\u4e2a\u5b57\u7b26f\u66ff\u6362\u4e3a\u4e86A
\u5e94\u8be5\u8fd8\u6709\u5f88\u591a\u65b9\u6cd5\u80fd\u591f\u5b9e\u73b0\uff0c\u53ef\u4ee5\u8fdb\u884c\u6478\u7d22

代码如下:

str="/home/gateman"

if [ ${str:0:1} = "/"  ]; then

    echo "yes'

fi

${str:0:1} 中0表示从第几个字符开始,1表示截取多长。

Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本,常见的脚本解释器有:

bash:是Linux标准默认的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写,内部命令一共有40个。

sh: 由Steve Bourne开发,是Bourne Shell的缩写,sh 是Unix 标准默认的shell。

另外还有:ash、 csh、 ksh等。

扩展资料

Linux shell 截取字符变量的前8位:

实现方法有如下几种:

expr substr “$a” 1 8

echo $a|awk ‘{print substr(,1,8)}’

echo $a|cut -c1-8

echo $

expr $a : ‘\(.\\).*’

echo $a|dd bs=1 count=8 2>/dev/null

按照指定要求分割:

比如获取后缀名

ls -al | cut -d “.” -f2

小结:shell对应字符串的处理方法很多,根据需求灵活选择。

在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。



[chengmo@localhost ~]$ test='I love china'
[chengmo@localhost ~]$ echo ${test:5}
e china
[chengmo@localhost ~]$ echo ${test:5:10}
e china
${变量名:起始:长度}得到子字符串

#!/bin/bash
#Reading chracter from string
STRING=‘abcde’;
echo ${STRING:4:1}

  • 鍦╨inux涓,鐢╯hell鑴氭湰瀹炵幇1+2+3+鈥︹100,骞跺湪缁堢涓婃樉绀哄嚭鏉
    绛旓細s=0 for (( i=1;i<=100;i=i+1 ))do s=$(($s+$i))done echo "1+2+3+...+100 ==>$s"
  • linux shell 缂栫▼濡備綍瀹炵幇涓や釜鏂囦欢鐨勫悓姝ャ
    绛旓細ln 杩欐槸linux涓竴涓潪甯搁噸瑕佸懡浠わ紝瀹冪殑鍔熻兘鏄负鏌愪竴涓枃浠跺湪鍙﹀涓涓綅缃缓绔嬩竴涓悓涓嶇殑閾炬帴锛岃繖 涓懡浠ゆ渶甯哥敤鐨勫弬鏁版槸-s,鍏蜂綋鐢ㄦ硶鏄細ln -s 婧愭枃浠 鐩爣鏂囦欢銆傚綋鎴戜滑闇瑕佸湪涓嶅悓鐨勭洰褰曪紝鐢ㄥ埌鐩稿悓鐨勬枃浠舵椂锛屾垜浠笉闇瑕佸湪姣忎竴涓渶瑕佺殑鐩綍涓嬮兘鏀句竴涓繀椤荤浉鍚岀殑鏂囦欢锛屾垜浠彧瑕佸湪鏌愪釜鍥哄畾鐨勭洰褰曪紝鏀...
  • [linux]shell鍙橀噺
    绛旓細鍦Linux鐨凷hell涓紝鍙橀噺鏄竴绉嶅瓨鍌ㄦ暟鎹殑鏂瑰紡锛屽彲浠ョ敤浜庡瓨鍌ㄦ枃鏈佹暟瀛楁垨鍏朵粬绫诲瀷鐨勪俊鎭傚畠浠彲浠ュ湪鑴氭湰鎴栧懡浠よ涓娇鐢紝浣垮緱鐢ㄦ埛鍙互杞绘澗鎿嶄綔杩欎簺鏁版嵁銆備笅闈㈡槸瀵筍hell鍙橀噺鐨 涓銆佸彉閲忕殑瀹氫箟鍜屽懡鍚嶈鍒 鍦⊿hell涓畾涔夊彉閲忔椂锛岄渶瑕佷娇鐢ㄥ彉閲忓悕鏉ユ爣璇嗗瓨鍌ㄧ殑鏁版嵁锛屽苟浣跨敤璧嬪艰鍙ヤ负鍙橀噺鍒嗛厤鍊笺傚彉閲忓悕閫氬父閬靛惊涓瀹...
  • 濡備綍鍦↙inux缁堢閲鐢⊿hell鍜孋杈撳嚭甯﹂鑹茬殑鏂囧瓧
    绛旓細鍏堟潵璁鍦╯hell涓嬶紝濡備綍瀹炵幇銆傜敤echo鍛戒护灏卞彲浠ュ疄鐜帮紝鍙傜湅浠ヤ笅渚嬪瓙锛歟cho -e 鈥淺\033[32mHello, world!鈥濆綋浣犲湪缁堢閲屾暡涓嬭繖鏉″懡浠ゅ悗锛屾槸涓嶆槸鍙戠幇绯荤粺鐢ㄧ豢鑹茶緭鍑轰簡鈥滺ello锛寃orld!鈥濓紝涓嶆濡傛锛岃繛涔嬪悗鐨勫懡浠ゆ彁绀虹閮藉彉鎴愪簡缁胯壊锛熶笉瑕佺潃鎬ワ紝鍚垜缁х画 璇淬俥cho鍛戒护-e閫夐」鐨勪綔鐢ㄦ槸婵娲荤粓绔鍙嶆枩绾...
  • 鍦Linux shell鑴氭湰涓,瀹夎杩囩▼涓濡備綍瀹炵幇鑷姩閫夋嫨瀹夎閫夐」?
    绛旓細Linux涓shell鑴氭湰杩愯鏃剁粡甯搁渶瑕佽繘琛屼氦浜掞紝姣斿瀹夎杞欢鐨勮繃绋嬩腑瀵筶icense澹版槑鐨勭‘璁わ紝闇瑕佽緭鍏es锛屽洖杞︿箣绫荤殑纭淇℃伅銆傝繖涓鍦鑷姩鍖栧畨瑁呯殑鏃跺欏氨浼氭槸涓棶棰樸傞氬父瀵逛簬杩欎釜闂姣旇緝鐏垫椿鐨勮В鍐虫柟娉曞氨鏄疶CL鐨凟xpect銆備絾Expect杩橀渶瑕佸彟澶栧畨瑁咃紝骞冲彴閫氱敤鎬т笉楂橈紝姣旇緝楹荤儲銆傚彟澶栦竴浜涚畝鍗曠殑鏂规硶鍊掍篃鏄湁锛屼笉杩囧彲鐢ㄦт笉...
  • 鍦Linux shell鑴氭湰涓,濡備綍瀹炵幇杈撳叆yes鎵ц涓娈垫寚浠,杈撳叆no鍒欐墽琛屽彟澶栦竴...
    绛旓細鎮ㄥソ锛佸彲浠鍒╃敤Shell鍑芥暟瀹炵幇 !/bin/bashaction1(){ # 鎸囦护}action2(){ # 鍙﹀涓涓寚浠read -p "璇疯緭鍏ユ偍鐨勯夋嫨锛" chooseif [ $choose = "yes" ]then action1fiif [ $choose = "no" ]then action2fi
  • 濡備綍鍦↙inux缁堢閲鐢⊿hell瀹炵幇鏂囧瓧闂儊绋嬪簭
    绛旓細stderr鏄linux(unix)鏍囧噯鍑洪敊杈撳嚭銆俵inux涓殑涓涓繘绋嬪惎鍔ㄦ椂锛岄兘浼氭墦寮涓変釜鏂囦欢锛氭爣鍑嗚緭鍏ャ佹爣鍑嗚緭鍑哄拰鏍囧噯鍑洪敊澶勭悊銆傞氬父杩欎笁涓枃浠堕兘涓庣粓绔仈绯汇傝繖涓変釜鏂囦欢鍒嗗埆瀵瑰簲鏂囦欢鎻忚堪绗0銆1銆2銆傜郴闃熺粺鑷畾涔変簡涓変釜鏂囦欢鎸囬拡stdin銆乻tdout銆乻tderr锛屽垎鍒寚鍚戞爣鍑嗚緭鍏ャ佹爣鍑嗚緭鍑哄拰鏍囧噯鍑洪敊杈撳嚭銆傞氬父缁撳悎fprintf浣跨敤...
  • Linux绯荤粺濡備綍瀹夎鍜浣跨敤shell缂栧啓鐨勫伐鍏穝upportconfig
    绛旓細supportconfig浣滀负Linux绯荤粺shell缂栧啓鐨勫伐鍏,鍏跺姛鑳芥槸闈炲父寮哄ぇ鐨,浣嗚繕鏄湁寰堝浜哄supportconfig宸ュ叿涓嶄簡瑙,涓嶇煡濡備綍浣跨敤supportconfig宸ュ叿,涓嬮潰灏忕紪灏辩畝鍗曠殑缁欏ぇ瀹朵粙缁嶄笅Linux瀹夎浣跨敤supportconfig鐨勬柟娉曘   涓銆乻upportconfig鐨勫畨瑁 鍙互閫氳繃yast杩涜瀹夎,涔熷彲浠ラ氳繃zypper鍛戒护杩涜瀹夎,瀹夎鍛戒护濡備笅: 鐩存帴浣跨敤婧愯繘琛屽畨瑁...
  • Linux Shell鑴氭湰绯诲垪鏁欑▼:缁堢鎵撳嵃鍛戒护璇﹁В
    绛旓細杩欑瘒鏂囩珷涓昏浠嬬粛浜Linux Shell鑴氭湰绯诲垪鏁欑▼(浜)锛氱粓绔墦鍗板懡浠よ瑙,鏈枃鐫閲嶈瑙d簡echo缁堢鎵撹嫳printf缁堢鎵撳嵃涓や釜鎵撳嵃鍑鸿緭鍑哄懡浠,闇瑕佺殑鏈嬪弸鍙互鍙傝冧笅 缁堢鎵撳嵃 缁堢鏄氦浜掑紡宸ュ叿锛岀敤鎴峰彲浠閫氳繃瀹冧笌shell鐜杩涜浜や簰銆鍦缁堢涓墦鍗版枃鏈槸澶у鏁皊hell鑴氭湰鍜屽伐鍏锋棩甯搁渶瑕佹墽琛岀殑鍩烘湰浠诲姟銆傞氳繃缁堢鎵撳嵃锛屼汉浠彲浠...
  • Linux Shell:Shell寰幆璇彞
    绛旓細鎽樿锛 Linux 锛 Shell Shell涓父鐢ㄥ惊鐜湁 for 锛 while for寰幆鍙兘鐢ㄤ簬 鍥哄畾娆℃暟 鐨勫惊鐜紝鍥犳涓嶈兘鏃犻檺寰幆鍜岀敤浜庝竴浜鍦鍚庡彴瀹堟姢杩涚▼涓鐩磋繍琛岀殑绋嬪簭锛岃娉曡鍙ュ涓 涔熷彲浠ュ啓鎴愪竴琛岋紝鐢 锛 鍒嗛殧 鍙栧煎垪琛ㄥ唴鍏冪礌浠ョ┖鏍奸殧寮锛屽鏋滃厓绱犲甫鏈夌┖鏍煎垯鐢ㄥ紩鍙峰寘瑁硅捣鏉ワ紝渚嬪瓙濡備笅 杈撳嚭濡備笅锛屽彲瑙佸惊鐜埌鏈鍚庨鍑哄惊鐜紝...
  • 扩展阅读:linux shell read ... shell常用的20个命令 ... linux shell 减法 ... linux如何进入shell ... linux shell自动化运维 ... linux启动显示shell ... linux shell 菜鸟教程 ... linux简单的shell编程 ... linux如何打开shell终端 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网