В исходной попытке вы можете поместить все команды в один конвейер, если воспользуетесь утилитой sponge
:
cat Results.txt |
tr -d " \t\r" |
awk 'BEGIN { FS = "|" } ;
{ print $1"|"tolower($2) tolower($3) tolower($4)"|"$5 }' |
sponge Results.txt
sponge
сохранит свой stdin
в памяти до тех пор, пока не достигнет конца ввода, а затем выполнит запись в файл. Это должно быть приемлемо для файла указанного размера.
Обратите внимание, что вы также можете использовать перенаправление оболочки для ввода файла в td
вместо cat
, например:
tr -d " \t\r" <Results.txt
Похоже, что прямого эквивалента не существует.
[27927.296390] XFS (sdb4): Mounting V5 Filesystem
[27927.869545] XFS (sdb4): Ending clean mount
[27942.761564] usb 2-2: USB disconnect, device number 31
[27943.011211] usb 2-2: new full-speed USB device number 32 using xhci_hcd
[27960.810143] XFS (sdb4): Unmounting Filesystem
[27960.811247] XFS (sdb4): metadata I/O error in "xlog_iodone" at daddr 0x58b10a len 64 error 5
[27960.812077] XFS (sdb4): xfs_do_force_shutdown(0x2) called from line 1271 of file fs/xfs/xfs_log.c. Return address = 00000000758bdd7c
[27960.812708] XFS (sdb4): Log I/O Error Detected. Shutting down filesystem
[27960.812728] XFS (sdb4): Unable to update superblock counters. Freespace may not be correct on next mount.
[27960.813349] XFS (sdb4): Please umount the filesystem and rectify the problem(s)
...
[28509.842965] sdb: sdb1 sdb2 sdb3 sdb4
[28509.846156] sd 2:0:0:0: [sdb] Attached SCSI removable disk
[28517.755990] XFS (sdb4): Mounting V5 Filesystem
[28518.328431] XFS (sdb4): Ending clean mount
file -s /dev/sdb4
может показать, когда файловая система ext4 «требует восстановления журнала», но не обнаруживает никакой разницы, когда я тестирую нечисто размонтированную файловую систему XFS.
xfs_repair
также не показывает никакой разницы. Фактически, список общих сообщений вman xfs_repair
не содержит ничего о воспроизведении журнала. Вместо этого:
The xfs_repair utility cannot repair an XFS file system with a dirty log. To clear the log, mount and unmount the XFS file system. If the log is corrupt and cannot be replayed, use the -L option ("force log zeroing") to clear the log, that is, xfs_repair -L /dev/device. Be aware that this may result in further corruption or data loss.
Хотя ext4 поддерживает специальные флаги для обозначения нечистого размонтирования, похоже, что XFS поддерживает только журнал. Если журнал пуст, то он "чистый"; там нечего чинить/восстанавливать/переигрывать.
(Если ваша ОС желает обнаруживать нечистые завершения работы, она должна сделать это сама, как это делает Windows :-).