Я довольно новичок в написании сценариев и искал в интернете, но, похоже, не могу найти конкретного решения для того, чего я пытаюсь достичь, поэтому я надеюсь, что кто-то может пролить свет.
У меня есть файл .txt, который содержит различные строки данных, которые организованы по тексту, начиная с определенных номеров столбцов - в основном, таблицы данных.См. Пример ниже, в котором показано, где начинается каждый столбец:
| | |
|1214000 |1234567890 |ISRBWPX0001000001
| | |
|MD-3300 |+12345678912 |MDABWPX0001000001
| | |
| | |
| | |
Col:620 Col:632 Col:672
Пожалуйста, нажмите здесь для скриншота, если приведенный выше пример не имеет смысла
Я хочу, чтобы скрипт нашел все строкикоторый содержит 'MD-' в столбце 620 и удалите его, чтобы осталось только число.Поэтому я запустил в PowerShell команду «Заменить», которая удалила все строки, содержащие «MD-», однако она выровняла остальные столбцы;
Используемая команда PowerShell:
(Get-Content "test.txt") |
Foreach-Object {$_.replace("MD-", "")} |
Set-Content "testedited.txt"
Вывод вышеуказанной команды:
| | |
|1214000 |1234567890 |ISRBWPX0001000001
| | |
|3300 |+12345678912 |MDABWPX0001000001
| | |
| | |
| | |
Col:620 Col:632 Col:672
Щелкните здесь для скриншота, если приведенный выше пример не имеет смысла
Как вы можете видеть, +12345678912 больше не выравнивается по столбцу 632, а также'MDABWPX0001000001', который больше не выровнен по столбцу 672.
Можно ли выполнить указанную выше команду, не затрагивая другие столбцы?Я где-то читал, что хэш-таблицы могут сделать это, однако я не совсем понял метод.
Требуемый вывод:
| | |
|1214000 |1234567890 |ISRBWPX0001000001
| | |
|3300 |+12345678912 |MDABWPX0001000001
| | |
| | |
| | |
Col:620 Col:632 Col:672
Пожалуйста, нажмите здесь, чтобы увидеть скриншот желаемого вывода
Я открыт для использования любых языков сценариев / методов длявыполнить эту задачу, так что любые предложения будут высоко оценены.
Заранее большое спасибо.