Necesito insertar una línea con texto específico en la segunda línea (moviendo así las otras líneas hacia abajo en el archivo) de cientos de archivos en un directorio. ¿Algún consejo rápido de Unix sobre cómo se puede hacer eso?¿Cómo inserto una línea en una fila específica en varios archivos en Unix?
Respuesta
sed -i -e '2iYour line here' /dir/*
Tenga en cuenta que la semántica sed -i
variar según el sabor de Unix, a fin de comprobar su man sed
. Esto está escrito para el sabor GNU.
este es un uso AWK
en lugar de la sed
,
for i in $(<list_of_files)
do
awk '{if (FNR!=2) print $0;
else { print "new line"; print $0}}' $i > ${i}.tmp;
mv ${i}.tmp $i;
done
ls | xargs --replace=foo perl -i -ne 'print; print "second line text\n" unless $x++;' foo
Yo voto * nunca * para recomendar 'perl -i' sin una copia de seguridad:' perl -i.bak'. Es fácil, y puede eliminar fácilmente las copias de seguridad una vez que esté seguro de que no se equivocó de edición. – Telemachus
perl -pi -we'print "extra line\n" if $. == 3; close ARGV if eof' files
El close(ARGV)
es necesario reiniciar el contador de líneas $.
al comienzo de cada archivo; de manera predeterminada, cuenta líneas a través de archivos.
¿No crees que vale la pena '' i.bak' para protegerte de un error tipográfico que borra una gran cantidad de datos? (Imagine que olvida '-p'.) – Telemachus
@Telemachus: al hacer un directorio completo, prefiero copiar primero el directorio completo (por ejemplo, cp -a dir {,. Save}); entonces puedo devolverlo si es necesario. – ysth
- 1. ¿Cómo inserto una fila con una columna TimeUUIDType en Cassandra?
- 2. Ejecute una secuencia de comandos sobre varios archivos en Unix
- 3. Cómo encontrar una fila específica en csv
- 4. Deshabilitar una advertencia específica en una línea específica en Xcode
- 5. LinqToExcel - Necesito comenzar en una fila específica
- 6. Linux: fusionando varios archivos, cada uno en una nueva línea
- 7. ¿Cómo obtener una línea específica de una cadena en C#?
- 8. ¿Cómo deshabilitar la advertencia en xcode en una línea específica?
- 9. insertando texto en una línea específica
- 10. Trazando una línea en varios gráficos
- 11. Insertar una fila en una ubicación específica en una matriz 2d en numpy?
- 12. ¿Cómo leer.table() varios archivos en una sola tabla en R?
- 13. Cambiar el nombre de varios archivos en Unix
- 14. Scroll un JScrollPane a una fila específica en un JTable
- 15. ¿Cómo salteo a una línea de entrada específica en Perl?
- 16. Reutilizando una macro C en varios archivos
- 17. ¿Cómo inserto una variable en una matriz de PHP?
- 18. ¿Cómo muevo el cursor a una fila y columna específica?
- 19. Seleccionar una columna específica en cada fila de la matriz
- 20. ¿Cómo inserto una línea en blanco antes de cada comentario (por ejemplo, "#") en VIM?
- 21. varios comandos en una sola línea en SQL Server 2005
- 22. ¿Cómo inserto una lista en otra lista en python?
- 23. Aplicar formato slickgrid a una fila específica
- 24. comparar dos archivos en UNIX
- 25. Ejecutar varios mandatos en una línea en la cáscara
- 26. Fusionando dos archivos por una sola columna en Unix
- 27. Eliminar una entrada/fila específica de Core-Data
- 28. ¿Cómo puedo dividir una aplicación de JavaScript en varios archivos?
- 29. ¿Cómo puedo seleccionar una columna específica en una fila usando jQuery y JavaScript?
- 30. Cómo resaltar una fila en una UITableView
wow .. casi me dan ganas de aprender sed. ¡Gracias un montón! – Learning