tmpfile=$( mktemp )
for pathname in /path/to/dir/*.csv; do
head -n 1 "$pathname" >"$tmpfile"
cat "$tmpfile >"$pathname"
done
rm "$tmpfile"
Es decir, extraiga el encabezado usando head -n 1
a un archivo temporal (asumiendo que es solo la primera línea ), luego trunque el archivo original e inserte el encabezado del archivo temporal.
Si el encabezado es exactamente idéntico en todos los archivos:
tmpfile=$( mktemp )
set -- /path/to/dir/*.csv
head -n 1 "$1" >"$tmpfile"
for pathname do
cat "$tmpfile" >"$pathname"
done
rm "$tmpfile"
Esto primero establece los parámetros posicionales en la lista de archivos que nos interesan, luego extrae el encabezado del primero de ellos. El ciclo itera sobre los parámetros posicionales (los archivos CSV )y trunca cada uno, insertando el encabezado.
En los dos ejemplos anteriores, se supone que el patrón /path/to/dir/*.csv
coincide con todos los archivos afectados. Un ejemplo del mundo real de un patrón real puede ser
/var/log/myprogram/dir1/*.csv /var/log/myprogram/dir2/*.csv
o, si está utilizando un shell que comprende la expansión de llaves:
/var/log/myprogram/{dir1,dir2}/*.csv
Я исправил эту проблему:
в аварийном режиме~
#pvscan
#vgscan
#lvchange -ay VolGroup00
#lvscan
после этого,
fsck -f /dev/VolGroup00/LogVol00 # In my case, dev/fedora/home that was all...
Я пишу на Fedora 30... Я ценю всех вас, ребята...
Я столкнулся с той же проблемой в Fedora 31.
Сначала я следовал этим инструкциям :руководство -не может -открыть -доступ -к -консоли --root -учетная запись --заблокирована -в -аварийный -режим
Затем я сделал то, что предложил @unmask. (вы можете добавить -y, чтобы сказать «да» всему)
После этого просто запустите «выход», и Fedora должна нормально перезагрузиться.