Kap*_*n K 4 linux csv bash awk parsing
我有一个格式的csv(在Linux上使用Bash)
DN , MAC , Partition ,
123 , abc , xyz
321 , asd , asd
Run Code Online (Sandbox Code Playgroud)
我可以使用awk解析它
eval MAC=($(awk -F "," '{print $1}' random.csv))
Run Code Online (Sandbox Code Playgroud)
这是在CSV每一列完成,因此我可以打电话DN[2],MAC[2]独立等,这是人工和单独分析它们.
但是如何逐行解析csv呢?例如:如果我呼叫DN是123,则相应的MAC并且Partition也应该返回.
Scr*_*zer 10
尝试循环:
while IFS=, read dn mac partition
do
echo "Do something with $dn $mac and $partition"
done < file
Run Code Online (Sandbox Code Playgroud)
要选择记录,您可以使用case语句:
P2=123
while IFS=, read dn mac partition
do
case $dn in
($P2) echo echo "Do something with $dn $mac and $partition" ;;
(*) echo "Do nothing" ;;
esac
done < file
Run Code Online (Sandbox Code Playgroud)