指令碼實現遍歷某乙個檔案,並列印檔案行數

2021-09-19 16:17:05 字數 1707 閱讀 7967

具體實現與分析

#!/bin/bash

#for迴圈實現

#ifs介紹:

#內部字段分隔符 internal field separator 用來在擴充套件之後進行分詞,使用內部命令 read 將行劃分成詞。

#ifs 預設值是'』,可以根據需要更改更改分隔符

oldifs=$ifs

ifs=$'\n'

num=0

for i in `cat b.txt`;do

echo $i

((num++))

done

echo num:$num

ifs=$oldifs

#######################

num=0

line=`cat b.txt | wc -l`

for((i=1;i<=line ;i++));do

echo `head -$i b.txt | tail -1`

((num++))

done

echo num:$num

##########################################

#更改輸入流,由鍵盤輸入更改為b.txt檔案輸入

num=0

exec 8<& 0

exec 0< b.txt

while read line ; do

echo $line

((num++))

done

echo num:$num

exec 0<& 8

exec 8<& -

###################################

#輸入流指向的是整個while迴圈

num=0

while read line ; do

echo $line

((num++))

done 0< b.txt

echo num:$num

#############

#輸入流指向的是read程序,按分割符讀取

#read方法讀取,如果輸入流,指向read程序,在while迴圈的時候,每一次讀取的是第一行,這樣,就會進入死迴圈

#如下例子加以說明

num=0

while read line 0< b.txt; do

echo $line

((num++))

echo $num

done

echo num:$num

####################################

#管道方法,開啟兩個程序,變數不共享,即便設定為全域性變數,也無效

#如下例子加以驗證

#例子中,父程序中num=0

#cat開啟檔案,將輸出作為輸入傳給read,在新的程序中,對num進行操作,子程序中num值為7

#最終echo輸出的是父程序中num值,即num值為0

#export,匯出全域性變數,僅僅是匯出,後續改值變化(父子程序中值變化),是更改該位置的指向,不再指向開始匯出的全域性變數而已

export num=0

cat b.txt | while read line ; do

echo $line

((num++))

echo $num

done

echo num:$num

遍歷某乙個程序的模組

include stdafx.h include include include bool getmodulelist dword dwpid 1.建立乙個模組相關的快照控制代碼 hmodulesnap createtoolhelp32snapshot th32cs snapmodule,指定快照的...

CSS 實現某乙個div居中顯示

做專案的時候,有遇到這種居中的模組,如下圖所示 但是這個居中就不太容易實現,網上蒐集的資料全是有個父級元素,然後設定什麼postion relative 子元素設定position absolute等等 但是我這個父級元素是在feed流裡面,就是很難實現對整個螢幕設定成relative等等,所以進行...

從乙個匯出的DMP檔案中,匯入某乙個表

imp name pwd conn ignore y tables table name file d data.dmp 注意 該命令直接在安裝了oracle的機器上,開啟cmd視窗執行即可 name pwd conn這個替換為自己連線資料庫時候的完整的連線名即可 ignore引數含義 ignore...