GNU/Linux >> Linux Esercitazione >  >> Linux

Come modificare tutte le occorrenze di una parola in tutti i file in una directory

Dai un'occhiata a questo:http://www.cyberciti.biz/faq/unix-linux-replace-string-words-in-many-files/

cd /var/www
sed -i 's/privelages/privileges/g' *

Generalmente uso questo breve script, che rinominerà una stringa in tutti i file e tutti i nomi di directory e file. Per usarlo, puoi copiare il testo qui sotto in un file chiamato replace_string , esegui sudo chmod u+x replace_string e poi spostalo nel tuo sudo mv replace_string /usr/local/bin folder per poterlo eseguire in qualsiasi directory.

NOTA:funziona solo su Linux (testato su Ubuntu) e fallisce su MacOS. Fai attenzione anche a questo perché può rovinare cose come i file git. Non l'ho nemmeno testato sui binari.

#!/usr/bin/env bash

# This will replace all instances of a string in folder names, filenames,
# and within files.  Sometimes you have to run it twice, if directory names change.


# Example usage:
# replace_string apple banana

echo $1
echo $2

find ./ -type f -exec sed -i -e "s/$1/$2/g" {} \;  # rename within files
find ./ -type d -exec rename "s/$1/$2/g" {} \;    # rename directories
find ./ -type f -exec rename "s/$1/$2/g" {} \;  # rename files

Una variazione che tiene conto delle sottodirectory (non testate):

find /var/www -type f -exec sed -i 's/privelages/privileges/g' {} \;

Questo sarà find tutti i file (non le directory, specificate da -type f ) sotto /var/www ed esegui un sed comando per sostituire "privelages" con "privileges" su ogni file che trova.


Linux
  1. Come posso rinominare tutte le cartelle e i file in minuscolo su Linux?

  2. Decomprimere tutti i file in una directory

  3. Come spostare tutti i file dalla directory corrente alla directory superiore?

  4. Come chown/chmod tutti i file nella directory corrente?

  5. Come eliminare tutti i file in una directory tranne alcuni?

Come rinominare i file in Linux

Come rinominare uno o più file in Linux

Rinominare i file nella directory?

Come eliminare tutti i file con un'estensione particolare in una cartella particolare?

Come modificare i permessi di file o directory in cPanel?

Come rinominare tutti i file con caratteri speciali e spazi in una directory?