Script de bash para tomar mismas líneas de 2 archivos diferentes

0

Pregunta

He de archivo de ejemplo llamado a los usuarios y se incluyen

user1
user2
user3

y archivo llamado newusers incluyendo:

newuser1
newuser2
newuser3

y ahora necesito un script de bash para tomar el usuario1 y newuser1 y hacer algún comando, por ejemplo, 'mv usuario1 newuser1' y etc. algo como esto, pero este no es trabajo para mí:

user=cat users
newuser= cat newusers

for u in user ; for n in newuser; do mv $u $n done; done
bash centos linux sh
2021-11-23 07:21:43
2

Mejor respuesta

2

Si usted nido de los dos bucles, se obtiene el "número de usuarios" * "número de newusers" las operaciones de movimiento. Pero sólo desea que "el número de usuarios" de las operaciones de mover.

Puro Bash:

#! /bin/bash

exec {users}<users
exec {newusers}<newusers

while true; do
  read user <&$users || exit
  read newuser <&$newusers || exit
  mv "$user" "$newuser"
done
2021-11-23 08:19:36

Funciona, de lo que mucho. Guardar mi tiempo.Que tengan un buen día.
Samir Ahmadli
1

Si los archivos están en el pedido correspondiente, y el mismo número de líneas:

tab=$(printf '\t')

paste users newusers |
while IFS=$tab read user newuser; do
    echo "move $newuser $user"
done

Funciona en bash o sh. Usted puede construir un comando usando las líneas correspondientes. Las líneas no pueden ya contener las fichas.

2021-11-23 08:39:51

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................