例如,我有一個名為 users 的檔案,它包括
user1
user2
user3
和名為 newusers 的檔案包括:
newuser1
newuser2
newuser3
現在我需要 bash 腳本來獲取 user1 和 newuser1 并執行一些命令,例如 'mv user1 to newuser1' 等類似這樣的事情,但這對我不起作用:
user=cat users
newuser= cat newusers
for u in user ; for n in newuser; do mv $u $n done; done
uj5u.com熱心網友回復:
如果嵌套兩個回圈,則會得到“用戶數”*“新用戶數”移動操作。但是您只需要“用戶數”移動操作。
純重擊:
#! /bin/bash
exec {users}<users
exec {newusers}<newusers
while true; do
read user <&$users || exit
read newuser <&$newusers || exit
mv "$user" "$newuser"
done
uj5u.com熱心網友回復:
如果檔案按匹配順序排列,并且行數相同:
tab=$(printf '\t')
paste users newusers |
while IFS=$tab read user newuser; do
echo "move $newuser $user"
done
它適用于 bash 或sh. 您可以使用相應的行構建命令。這些行不能已經包含制表符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/363913.html
上一篇:如何讀取Ctrl C作為輸入
